pengantar sql

8
Mudah Belajar SQL Langkah Awal menguasai bahasa SQL Oleh :David Kurniawan

Upload: david-kurniawan

Post on 18-Dec-2014

2.905 views

Category:

Education


0 download

DESCRIPTION

E-book ini berisi tutorial perintah SQL , wajib bagi yang masih pemula di bidang database programming

TRANSCRIPT

Page 1: Pengantar sql

Mudah Belajar SQL

Langkah Awal menguasai bahasa SQL

Oleh :David Kurniawan

Page 2: Pengantar sql

1

Pengantar SQL

Sejarah dan Tujuan mempelajari SQL Menurut yang tertulis di wikipedia, Standarisasi SQL dimulai pada tahun 1986,

ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut

dengan SQL86. Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian

diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999

dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan

implementasi mereferensi pada SQL92.

SQL merupakan bahasa standar yang digunakan untuk melakukan manipulasi

database relational maka penting artinya bagi siapapun yang mempelajari pemrograman

database mengerti tentang SQL, tidak peduli apakah anda bekerja dengan SQL Server

Familiy, MtSql, Postgre SQL, dan DBMS lain. Bahasa SQL tetap menjadi pedoman

utama meskipun masing-masing DBMS memiliki “dialeknya” masing-masing.

Dengan menguasai bahasa SQL, berarti anda sudah siap untuk membuat aplikasi

database dengan variasi DBMS yang tersedia.

Tools

Untuk mempraktekan isi E-book ini , anda bisa menggunakan Tools-Tools SQL yang

tersedia sesuai dengan DBMS yang digunakan.

Seperti : Query Analyzer untuk SQL Server, Heidi SQL untuk MYSQL, Query

di MsAccess, dsb.

Bentuk dasar SQL

Sebelum kita belajr lebih lanjut tentang SQL ada baiknya anda mempersiapkan

4 buah table sebagai berikut:

a. Transaksi Notrans Tgl Waktu Userid

GrandTotal

------------ --------------------------- ------------ -----------

--------- ---------------------

TRK-00000001 2007-03-03 00:00:00.000 4:40:02 PM Ika

54000.0000

TRK-00000002 2007-03-03 00:00:00.000 4:49:21 PM Gafoer

30108000.0000

TRK-00000003 2007-03-06 00:00:00.000 7:16:09 PM Wahyu

15270000.0000

TRK-00000004 2007-03-06 00:00:00.000 7:18:52 PM Ika

54000.0000

TRK-00000005 2007-03-08 00:00:00.000 7:30:35 PM Wahyu

61908000.0000

Page 3: Pengantar sql

2

b. DetailJual Notrans KodeBarang Hargajual JML

------------ ---------- --------------------- -----------

TRK-00000002 BRG-01 54000.0000 2

TRK-00000002 BRG-02 15000000.0000 2

TRK-00000003 BRG-01 54000.0000 5

TRK-00000003 BRG-02 15000000.0000 1

TRK-00000003 BRG-01 54000.0000 5

TRK-00000003 BRG-02 15000000.0000 1

TRK-00000004 BRG-01 54000.0000 1

TRK-00000005 BRG-01 54000.0000 2

TRK-00000005 BRG-02 15000000.0000 3

TRK-00000005 BRG-03 1200000.0000 3

TRK-00000005 BRG-26 13200000.0000 1

c. Operator Userid Password

-------------------- ----------------------------------------

Gafoer Gafoer

Ika 123456

Wahyu Cakep

d. Barang Kodebarang Namabarang Jenis Harga Stock

---------- ------------------------- --------------------- ------

BRG-01 KEYBOARD KOMPUTER 54000.0000 23

BRG-02 MONITOR ELEKTRONIK 15000000.0000 20

BRG-03 MOTHERBOARD ELEKTRONIK 1200000.0000 2

BRG-26 INFOCUS ELEKTRONIK 13200000.0000 0

BRG-90 MOTHERBOARD INTEL 3.12 KOMPUTER 750000.0000 36

Rumus DASAR SQL Perintah SELECT SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]

FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON

kondisi_penghubung]

[, nama_tabel3 [AS alias3], ...]

[WHERE kondisi]

[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]

[GROUP BY nama_field1[, nama_field2, ...]]

[HAVING kondisi_aggregat]

Bagian-bagian utama dalam SQL 1. SELECT

Perintah ini gunakan untuk menampilkan Field yang akan di tampilkan dalam

hasil Query

Contoh : SELECT Barang.namabarang,barang.jenis…..

2. FROM

Merujuk kepada nama Tabel asal dari Field-field yang sudah dituliskan

sebelumnya

Contoh : SELECT Barang.namabarang,barang.jenis FROM Barang

3. INNER |LEFT | RIGHT Join

Menjelaskan metode relasional antar table [table1] dan [table2]

a. INNER : Di tampilkan apabila data di [table1] juga ada di [table2]

Page 4: Pengantar sql

3

b. LEFT : Menampilkan seluruh data di [table1] sekalipun di [table2] data

tersebut tidak ada.

c. RIGHT : Menampilkan seluruh data di [table2] sekalipun di [table1] data

tersebut tidak ada.

[table1] sebagai table (one), [table2] sebagai table (many)

Contoh INNER 2 Table: SELECT Transaksi.notrans,detailjual.kodebarang FROM

Transaksi INNER JOIN Detailjual ON Transaksi.notrans=Detailjual.notrans

Hasil : notrans kodebarang

------------ ----------

TRK-00000002 BRG-01

TRK-00000002 BRG-02

TRK-00000003 BRG-01

TRK-00000003 BRG-02

TRK-00000003 BRG-01

TRK-00000003 BRG-02

TRK-00000004 BRG-01

Contoh INNER 3 Table: SELECT

Transaksi.notrans,Transaksi.Tgl,detailjual.kodebarang,barang.namabarang

FROM (Transaksi INNER JOIN detailjual ON

Transaksi.notrans=detailjual.notrans) INNER JOIN Barang

ON barang.kodebarang=detailjual.kodebarang

Hasil : notrans Tgl kodebarang namabarang

------------ --------------------------- ---------- -------------

TRK-00000002 2007-03-03 00:00:00.000 BRG-01 KEYBOARD

TRK-00000002 2007-03-03 00:00:00.000 BRG-02 MONITOR

TRK-00000003 2007-03-06 00:00:00.000 BRG-01 KEYBOARD

TRK-00000003 2007-03-06 00:00:00.000 BRG-02 MONITOR

TRK-00000003 2007-03-06 00:00:00.000 BRG-01 KEYBOARD

TRK-00000003 2007-03-06 00:00:00.000 BRG-02 MONITOR

TRK-00000004 2007-03-06 00:00:00.000 BRG-01 KEYBOARD

TRK-00000005 2007-03-08 00:00:00.000 BRG-01 KEYBOARD

TRK-00000005 2007-03-08 00:00:00.000 BRG-02 MONITOR

TRK-00000005 2007-03-08 00:00:00.000 BRG-03 MOTHERBOARD

TRK-00000005 2007-03-08 00:00:00.000 BRG-26 INFOCUS

Contoh LEFT 2 Table : SELECT Barang.namabarang,detailjual.kodebarang

FROM Barang LEFT JOIN Detailjual ON

Barang.Kodebarang=Detailjual.Kodebarang

Hasil : namabarang kodebarang

------------------------- ----------

KEYBOARD BRG-01

KEYBOARD BRG-01

KEYBOARD BRG-01

Page 5: Pengantar sql

4

KEYBOARD BRG-01

KEYBOARD BRG-01

MONITOR BRG-02

MONITOR BRG-02

MONITOR BRG-02

MONITOR BRG-02

MOTHERBOARD BRG-03

INFOCUS BRG-26

MOTHERBOARD INTEL 3.12 NULL

NULL artinya data tidak terdapat di table detailjual

Cobalah menggunakan metode Right, dan perhatikan kenapa hasilnya kosong/

tidak ada data yang ditampilkan?

Jawab :

Hasil Kosong karena tidak ada data di Table detailjual yang berbeda dengan data

di table Barang

4. WHERE

WHERE berlaku untuk melakukan filter-ing data yang ditampilkan

Contoh :

SELECT barang.namabarang,barang.harga FROM

barang WHERE barang.harga > 20000

Hasil : namabarang harga

------------------------- ---------------------

KEYBOARD 54000.0000

MONITOR 15000000.0000

MOTHERBOARD 1200000.0000

INFOCUS 13200000.0000

MOTHERBOARD INTEL 3.12 750000.0000

Selain symbol pembanding seperti “=”, ”>”, ”>=”, ”<”, ”<=” anda juga bisa

menggunakan perintah BETWEEN(antara). Fungsi “AND” dan “OR” juga bisa

digunakan untuk menghubungkan 2 kriteria atau lebih.

Sebagai contoh untuk menampilkan data barang yang memiliki harga antara

750000 sampai dengan 2000000. Bisa menggunakan 2 cara :

a. SELECT barang.namabarang,barang.harga FROM

barang WHERE (barang.harga >= 750000 AND barang.harga

<=2000000)

b. SELECT barang.namabarang,barang.harga FROM

barang WHERE barang.harga BETWEEN 750000 and 2000000

Page 6: Pengantar sql

5

Sedangkan untuk pen-filter-an tipe tanggal and bisa menggunakan sama dengan

tipe data string yaitu dengan pemberian tanda petik seperti

SELECT Notrans,Tgl from transaksi WHERE tgl='03-06-2007'

Hasil:

Notrans Tgl

------------ ---------------------------

TRK-00000003 2007-03-06 00:00:00.000

TRK-00000004 2007-03-06 00:00:00.000

5. ORDER BY

Digunakan untuk mengurut data berdasarkan field yang ditentukan, pengurutan

memiliki 2 pilihan yaitu ASC (A-Z) dan DESC(Z-A).

Contoh :

SELECT barang.namabarang,barang.harga FROM BARANG ORDER BY

barang.harga DESC

Hasil : namabarang harga

------------------------- ---------------------

MONITOR 15000000.0000

INFOCUS 13200000.0000

MOTHERBOARD 1200000.0000

MOTHERBOARD INTEL 3.12 750000.0000

KEYBOARD 54000.0000

6. GROUP BY

Digunakan untuk memberikan kunci penghitungan Agregat(Sum,Avg,Count)

Contoh :

SELECT Transaksi.Tgl,Sum(GrandTotal) As TotalPerTgl FROM Transaksi

Group BY Transaksi.Tgl

Susunan Tanggal di T-SQL (SQL Server) – “mm-dd-yyyy”

Anda juga bisa menggunakan

Tgl= „April 15, 1998‟

Atau

Tgl=‟19980415‟ untuk April 15,1998

Page 7: Pengantar sql

6

Hasil : Tgl TotalPerTgl

------------------------ ---------------------

2007-03-03 00:00:00.000 30162000.0000

2007-03-06 00:00:00.000 15324000.0000

2007-03-13 00:00:00.000 61908000.0000

7. HAVING

Fungsi Having mirip dengan perintah WHERE yang bemanfaat untuk men-filter

data, Havig di tujukan untuk melakukan filter agregat(SUM,AVG,COUNT)

Contoh :

SELECT Transaksi.Tgl,Sum(GrandTotal) As TotalPerTgl FROM Transaksi

Group BY Transaksi.Tgl Having Sum(GrandTotal) Between 30000000 and

70000000

Hasil : Tgl TotalPerTgl

--------------------------- ---------------------

2007-03-03 00:00:00.000 30162000.0000

2007-03-13 00:00:00.000 61908000.0000

Rumus DASAR SQL yang Lain Selain perintah SELECT yang sering digunakan untuk menampilkan data, SQL juga

memiliki fungsi lain yang berguna untuk memanipulasi data.

1. INSERT INTO

Menembahkan data ke table

Contoh :

INSERT INTO OPERATOR(UserID,Password) VALUES('adi-1','1234')

2. UPDATE

Merubah isi table tambah perintah WHERE untuk memberikan kriteria data yang

bisa di rubah, apabila anda tidak mencantumkan WHERE berarti semua data akan

dirubah.

Contoh :

Update Operator Set Password='a' WHERE UserID=‟adi‟

3. DELETE

Menghapus Data

Contoh :

DELETE barang WHERE stock=0

Page 8: Pengantar sql

7

Penutup

Saya berharap tutorial singkat tentang Perintah SQL ini dapat membantu anda untuk

meningkatkan kemampuan. Meskipun tidak di pungkiri bahwa banyak sekali Tools SQL

tersedia untuk mempermudah proses penulisan SQL. Namun dengan memahami hal-hal

penting dalam perintah SQL otomatis anda sudah meningkatkan kemampuan penting

yang harus dimiliki oleh Programming Database.

Akhir Kata, Semoga Tulisan ini Bermanfaat Bagi Anda Sekalian.

David Kurniawan

Profile

David Kurniawan, Lahir di Surabaya pada tanggal 24 Juli 1980,

Disela-sela waktu senggang sebagai Branch Manager sebuah

Lembaga Pendidikan Komputer Wearnes Education Center di

Madiun, aktif menulis seputar Tutorial berkomputer, Internet, dan

Wordpress hasil tulisannya bisa anda lihat di BLOG

http://davidkurniawan.web.id.