Basis Data Terapan Yoannita, S.Kom
SELECT • Syntax paling dasar untuk mengambil data dari database adalah sebagai berikut : SELECT nama-nama kolom FROM nama tabel Dan SELECT * FROM nama tabel
Contoh SQL SELECT • Terdapat tabel Pegawai sebagai berikut : Kode_P Nama_Depan Nama_Belakang Alamat
Kota
1
Ola
Hansen
Timoteivn 10 Sandnes
2
Tove
Svendson
Borgvn 23
Sandnes
3
Kari
Pettersen
Storgt 20
Stavanger
• Sekarang kita akan mengambil konten berisi nama depan dan nama belakang dari tabel Pegawai tersebut, maka kita menggukanan statement SELECT berikut ini :
SELECT Nama_Depan, Nama_Belakang FROM Pegawai
Contoh SQL SELECT : Penjelasan Nama kolom yang dikehendaki
SELECT Nama_Depan, Nama_Belakang FROM Pegawai
Nama tabel
Hasil eksekusi statement diatas adalah sbb : LastName Hansen Svendson Pettersen
FirstName Ola Tove Kari
Contoh SELECT * • Sekarang kita ingin menampilkan semua kolom pada tabel Pegawai. Kita akan memakai SELECT statement sbb : SELECT kode_P, nama_depan, nama_belakang, alamat, kota FROM Persons • Atau : SELECT * FROM Persons
Contoh SELECT * • Tanda asterisk (*) merupakan cara tercepat untuk menyeleksi seluruh kolom • Hasil dari kedua statement tersebut adalah : Kode_P
Nama_Depan
Nama_Belakang
Alamat
Kota
1
Ola
Hansen
Timoteivn 10
Sandnes
2
Tove
Svendson
Borgvn 23
Sandnes
3
Kari
Pettersen
Storgt 20
Stavanger
SQL SELECT DISTINCT Statement • Dalam suatu tabel, ada kalanya suatu kolom dapat mempunyai data yang kembar. Hal ini bukan suatu masalah, namun suatu saat kita hanya ingin mendapatkan daftar data yang tidak terduplikasi dari suatu tabel, misalnya daftar kota tempat asal pegawai. • keyword DISTINCT dapat digunakan untuk menyeleksi dan mengembalikan data yang berbeda nilainya (distinct/different) • Sintaks : SELECT DISTINCT column_name(s) FROM table_name
SQL SELECT DISTINCT Statement • Isi dari tabel Pegawai sebelumnya adalah sbb : Kode_P
Nama_Depan
Nama_Belakang
Alamat
Kota
1
Ola
Hansen
Timoteivn 10
Sandnes
2
Tove
Svendson
Borgvn 23
Sandnes
3
Kari
Pettersen
Storgt 20
Stavanger
• Apabila kita mengeksekusikan perintah :
SELECT DISTINCT Kota FROM Pegawai Maka hasilnya adalah sebagai berikut : Kota Sandnes Stavanger
SQL WHERE Clause • Klausa where digunakan untuk menyeleksi suatu record SELECT nama-nama kolom FROM nama tabel WHERE nama kolom operator nilaikondisi
SQL WHERE Clause • Mengambil daftar pegawai yang berasal dari kota tertentu : SELECT * FROM Pegawai WHERE Kota = 'Sandnes‘ • Hasil query di atas adalah sbb : Kode_p Nama_Depan Nama_Belakang Alamat Kota Ola 1 Hansen Timoteivn Sandnes 10 Tove Svendson Borgvn 23 Sandnes 2
Tanda petik dalam Query • SQL menggunakan tanda petik satu di sekitar nilai teks/karakter (sebagian besar database juga memperbolehkan tanda petik dua, namun hal ini tidak dianjurkan) • Walaupun begitu, nilai numerik sebaiknya tidak disertai tanda petik dua
Untuk nilai karakter / teks : • Benar : SELECT * FROM Pegawai WHERE nama_depan = 'Tove' Salah : SELECT * FROM Pegawai WHERE nama_depan = Tove
Untuk nilai numeric : Benar : SELECT * FROM Pegawai WHERE Year = 1965 Salah : SELECT * FROM Pegawai WHERE Year = '1965'
Operator pada Where Clause Operator = <> > < >= <= BETWEEN LIKE IN (SET)
Description Sama dengan Tidak sama dengan Lebih besar dari Lebih kecil dari Lebih besar dari atau sama dengan Lebih kecil dari atau sama dengan Diantara suatu rentang nilai Mencari kemiripan dari suatu pola Pencocokan dengan suatu nilai dalam suatu daftar nilai
LIKE dan NOT LIKE : tanda wildcard Tanda
Keterangan
%
cocok dengan nol, satu atau sejumlah karakter apa saja S% cocok dengan yang diawali oleh S %s% cocok dengan yang mengandung huruf S
?
cocok dengan sebuah huruf apa saja i?t cocok dengan int, tetapi tidak cocok dengan ikat
[]
cocok dengan sebuat karakter yang terdapat dalam tanda ini B[aei] cocok dengan Ba, Be, atau Bi tetapi tidak cocok dengan Bu
[^ ]
cocok dengan sebuah karakter selain yang terdapat dalam tanda [ ] yang terletak sesudah tanda ^ B[!aei] cocok dengan Bb, Bu, Bc tetapi tidak cocok dengan Ba, Be, Bi
-
cocok dengan salah satu karakter yang terletak dalam jangkauan karakter-karakter urut f-k cocok dengan f, g, h, i, j atau k
#
cocok dengan sebuah digit 1#3 cocok dengan 113, 123, tetapi tidak cocok dengan 1b3
_
Sembarang satu karakter
LIKE dan NOT LIKE : tanda wildcard • Pada standar SQl, tanda wildcard yang disediakan berupa garis bawah (_) dan tanda persen (%) saja. Tanda _ mempunyai kegunaan seperti tanda ? dan tanda % mempunyai fungsi serupa dengan * • Pada setiap pembandingan, huruf kapital dan huruf kecil dianggap sama.
SQL AND & OR Operators • Operator AND dan OR digunakan untuk menyaring records berdasarkan satu atau lebih suatu kondisi. • Operator AND menampilkan record yang memenuhi SEMUA kondisi • Operator OR menampilkan record jika record tersebut memenuhi minimal SATU buah kondisi.
Contoh Operator AND • SELECT * FROM Pegawai WHERE nama_depan = 'Tove' AND nama_belakang = 'Svendson' Kode_p Nama_Depan Nama_Belakang Alamat
Kota
2
Sandnes
Tove
Svendson
Borgvn 23
Contoh Operator OR • SELECT * FROM Pegawai WHERE Nama_depan = 'Tove' OR nama_depan = 'Ola' Kode_p Nama_Depan Nama_Belakang Alamat 1
Ola
Hansen
2
Tove
Svendson
Kota
Timoteivn Sandnes 10 Borgvn 23 Sandnes
Kombinasi AND dan OR • SELECT * FROM Pegawai • WHERE nama_belakang = 'Svendson' AND (nama_depan = 'Tove' OR nama_depan = 'Ola') Kode_p Nama_Depan Nama_Belakang
Alamat
Kota
2
Borgvn 23
Sandnes
Tove
Svendson
SQL ORDER BY Keyword • Keyword ORDER BY digunakan untuk mengurutkan suatu hasil seleksi berdasarkan kolom spesifik • Secara default keyword ORDER BY mengurutkan hasil secara ascending • Jika hendak mengurutkan data secara descending, gunakan keyword DESC. • Sintaks SQL ORDER BY : SELECT nama-nama kolom FROM nama tabel ORDER BY nama-nama kolom ASC|DESC
Contoh Order by • Dimisalkan isi Tabel Pegawai sekarang adalah : Kode_P 1 2 3 4
Nama_depan Nama_belakang Alamat Ola Hansen Timoteivn 10 Tove Svendson Borgvn 23 Kari Pettersen Storgt 20 Tom Nilsen Vingvn 23
Kota Sandnes Sandnes Stavanger Stavanger
Contoh Order by • SELECT * FROM Persons ORDER BY LastName • Hasil eksekusi query di atas adalah Kode_P 1 4 3 2
Nama_depan Ola Tom Kari Tove
Nama_belakang Hansen Nilsen Pettersen Svendson
Alamat Timoteivn 10 Vingvn 23 Storgt 20 Borgvn 23
Kota Sandnes Stavanger Stavanger Sandnes
Contoh ORDER BY DESC • SELECT * FROM Persons ORDER BY LastName DESC • Hasil eksekusi query di atas adalah Kode_P 2 3 4 1
Nama_depan Tove Kari Tom Ola
Nama_belakang Svendson Pettersen Nilsen Hansen
Alamat Borgvn 23 Storgt 20 Vingvn 23 Timoteivn 10
Kota Sandnes Stavanger Stavanger Sandnes