MENGENAL BERBAGAI KLAUSA PADA SELECT Sistem Basis Data – Bab 8 MENGENAL BERBAGAI KLAUSA PADA SELECT
1. Mengurutkan Data dengan ORDER BY Bila bermaksud mengurutkan hasil query, bisa menambahkan klausa ORDER BY. Pengurutan dapat dilakukan baik secara ascending (urut naik) maupun descending (urut turun). Bisa juga mengurutkan hasil query berdasarkan sebuah kolom ataupun beberapa kolom.
1.1. Mengurutkan Berdasarkan Sebuah Kolom Contoh pernyataan SQL untuk menggambarkan pengurutan data menurut nama bintang film pada tabel infoprib secara ascending: SELECT * FROM infoprib ORDER BY nama;
Gambar 1. Data diurutkan menurut nama bintang film pada tabel infoprib id_bin nama tgl_lahir sex JOLIE Angelina Jolie 1975-06-04 W CDIAZ Cameron Diaz 1972-08-30 HAKIM Christine Hakim 1957-12-25 CINDY Cindy Crawford 1966-02-20 DEMIM Demi Moore 1962-11-11 DREWB Drew Barrymore 1975-02-22 JULIA Julia Roberts 1967-10-28 KEANU Keanu Reeves 1964-09-02 P KELLY Kelly McGillis 1957-07-09 KEVIN Kevin Costner 1955-01-18 RGERE Richard Gere 1946-08-29 SANDR Sandra Bullock 1964-07-26 STONE Sharon Stone 1958-03-10 RAHAR Slamet Rahardjo SYLVE Sylvester Stallone 1946-07-06 Gambar 1. Data diurutkan menurut nama bintang film pada tabel infoprib
1.2. Mengurutkan Secara Descending Contoh pernyataan SQL untuk menggambarkan pengurutan data menurut nama bintang film pada tabel infoprib secara descending: SELECT * FROM infoprib ORDER BY nama DESC;
id_bin nama tgl_lahir sex SYLVE Sylvester Stallone 1946-07-0 P RAHAR Slamet Rahardjo STONE Sharon Stone 1958-03-10 W SANDR Sandra Bullock RGERE Richard Gere 1946-08-29 KEVIN Kevin Costner 1955-01-18 KELLY Kelly McGillis 1957-07-09 KEANU Keanu Reeves 1964-09-02 JULIA Julia Roberts 1967-10-28 DREWB Drew Barrymore 1975-02-22 DEMIM Demi Moore 1962-11-11 CINDY Cindy Crawford 1966-02-20 HAKIM Christine Hakim 1957-12-25 CDIAZ Cameron Diaz 1972-08-30 JOLIE Angelina Jolie 1975-06-04 Gambar 2. Nama ditampilkan pada tabel secara descending pada tabel infoprib
1.3. Mengurutkan Menurut Beberapa Kolom Gambar 3 memperlihatkan hasil pengurutan menurut sex yg diperoleh melalui pernyataan SQL : SELECT sex, nama FROM infoprib ORDER BY sex;
Gambar 3. Data diurutkan menurut sex nama P Sylvester Stallone Kevin Costner Keanu Reeves Richard Gere Slamet Rahardjo W Drew Barrymore Sharon Stone Cristine Hakim Julia Roberts Demi Moore Cindy Crawford Cameron Diaz Sandra Bullock Kelly McGillis Angelina Jolie Gambar 3. Data diurutkan menurut sex
Bandingkan dengan hasil pada Gambar 4 yg dihasilkan oleh pernyataan SQL berikut: SELECT sex, nama FROM infoprib ORDER BY sex, nama;
Gambar 4. Data diurutkan menurut sex dan nama P Keanu Reeves Kevin Costner Richard Gere Slamet Rahardjo Sylvester Stallone W Angelina Jolie Cameron Diaz Cristine Hakim Cindy Crawford Demi Moore Drew Barrymore Julia Roberts Kelly McGillis Sandra Bullock Gambar 4. Data diurutkan menurut sex dan nama
Bisa juga mengatur agar kolom tertentu diurutkan secara ascending dan kolom lain secara descending. Contoh pernyataan SQL : SELECT sex, nama FROM infoprib ORDER BY sex ASC, nama DESC; Atau ORDER BY sex, nama DESC;
sex nama P Sylvester Stallone Slamet Rahardjo Richard Gere Kevin Costner Keanu Reeves W Sharon Stone Sandra Bullocs Kelly McGillis Julia Roberts Drew Barrymore Demi Moore Cindy Crawford Christine Hakim Cameron Diaz Angelina Jolie Gambar 5. sex diurutkan secara ascending dan nama diurutkan secara descending
Adapun contoh pernyataan SQL berikut memperlihatkan pengurutan menurut dua kolom dan dilakukan secara descending : SELECT sex, nama FROM infoprib ORDER BY sex DESC , nama DESC;
Gambar 6. data diurutkan menurut sex dan nama secara descending W Sharon Stone Sandra Bullock Kelly McGillis Julia Roberts Drew Barrymore Demi Moore Cindy Crawford Christine Hakim Cameron Diaz Angelina Jolie P Sylvester Stallone Slamet Rahardjo Richard Gere Kevin Costner Keanu Reeves Gambar 6. data diurutkan menurut sex dan nama secara descending
1.4. Mengurutkan Menurut Kolom Kolom yg dijadikan sebagai acuan pengurutan data dapat disebutkan bukan melalui kolom melainkan melalui nomor kolom. Contoh pernyataan SQL : SELECT sex, nama FROM infoprib ORDER BY 2 DESC; Pada contoh pernyataan SQL di atas, angka 2 menyatakan kolom kedua yg disebutkan dalam SELECT. Jadi, pengurutan dilakukan menurut nama.
Gambar 7. Hasil penyebutan ORDER BY dengan nomor kolom sex nama P Sylvester Stallone Slamet Rahardjo W Sharon Stone Sandra Bullock Richard Gere Kevin Costner Kelly McGillis Keanu Reeves Julia Roberts Drew Barrymore Demi Moore Cindy Crawford Christine Hakim Cameron Diaz Angelina Jolie Gambar 7. Hasil penyebutan ORDER BY dengan nomor kolom
2. Mengelompokkan Data dengan GROUP BY Hasil dari SELECT juga dapat dikelompokkan. Sebagai contoh, kemungkinan dari nilai kolom sex dapat diperoleh melalui pernyataan SQL : SELECT sex FROM infoprib GROUP BY sex;
Gambar 8. Pengelompokkan menurut sex W Gambar 8. Pengelompokkan menurut sex
Isi tabel pegawai: nip nama_peg gaji kota depart 12345 Fuad Mawardi 3000000 Yogya Akunting 12346 John Simatupang 3600000 Pemasaran 12347 Freska Iskandar 1500000 Klaten Personalia 12348 Kadarisman 960000 Sleman 12349 Kresnawan 1200000 Magelang EDP 12351 Rianto 750000 Bantul 12352 Fahmi 12353 Ida Ayu 12354 Dian Arum 800000 Produksi 12355 Kartono 700000
Contoh berikut memperlihatkan penampilan daftar kota yg terdapat pada tabel pegawai: SELECT kota FROM pegawai GROUP BY kota;
Kota Bantul Klaten Magelang Sleman Yogya Gambar 9. Daftar kota
3. Mengenal Klausa HAVING Pemakaian klausa HAVING terkait dengan klausa GROUP BY. Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Kelompok yg memenuhi HAVING yg akan dihasilkan. Sebagai contoh, bisa mencoba pernyataan SQL berikut: SELECT kota FROM pegawai GROUP BY kota HAVING KOTA <> ‘Yogya’; atau WHERE kota <> ‘Yogya’ GROUP BY kota; Pada gambar 10 tampak bahwa kota Yogya tdk muncul, disebabkan dalam HAVING disebutkan bahwa kondisinya adalah untuk kota selain Yogya.
Gambar 10. Pembatasan baris pada GROUP BY dengan HAVING Kota Bantul Klaten Magelang Sleman Gambar 10. Pembatasan baris pada GROUP BY dengan HAVING
4. Mengenal Fungsi Agregat Fungsi agregat (kadangkala disebut fungsi grup atau fungsi ringkasan) adalah fungsi yg disediakan oleh SQL untuk menghasilkan senuah nilai berdasarkan sejumlah data. Fungsi adalah suatu kumpulan instruksi yg menghasilkan sebuah nilai jika dipanggil. Fungsi agregat yg disediakan oleh SQL dapat dilihat pada Tabel 1.
Tabel 1. Daftar fungsi agregat Keterangan AVG Memperoleh nilai rata-rata COUNT Menghitung cacah data MAX Menghasilkan nilai terbesar MIN Menghasilkan nilai terkecil SUM Memperoleh penjumlahan data
4.1. Fungsi Average (AVG) Fungsi AVG berguna untuk memperoleh nilai rata-rata. Contoh pernyataan SQL : Menghitung gaji rata-rata pegawai Pernyataan: SELECT AVG(gaji) FROM pegawai;
Gambar 11. Memperoleh gaji rata-rata Avg 1473333 Gambar 11. Memperoleh gaji rata-rata
4.2. Fungsi COUNT Fungsi COUNT berguna untuk melakukan pencacahan terhadap data. Contoh pernyataan SQL : Menghitung jumlah pegawai Pernyataan: SELECT COUNT(nama_peg) FROM pegawai; Atau SELECT COUNT(*)
Gambar 12. Menampilkan jumlah pegawai pada tabel pegawai count 10 Gambar 12. Menampilkan jumlah pegawai pada tabel pegawai
4.3. Fungsi MAX Fungsi MAX berguna untuk memperoleh nilai terbesar. Contoh pernyataan SQL : Memperoleh gaji terbesar Pernyataan: SELECT MAX(gaji) FROM pegawai;
Gambar 13. Menampilkan gaji terbesar pada tabel pegawai max 3600000 Gambar 13. Menampilkan gaji terbesar pada tabel pegawai
4.4. Fungsi MIN Fungsi MIN berguna untuk memperoleh nilai terkecil. Contoh pernyataan SQL : Memperoleh gaji terkecil Pernyataan: SELECT MIN(gaji) FROM pegawai;
Gambar 14. Menampilkan gaji terkecil pada tabel pegawai min 700000 Gambar 14. Menampilkan gaji terkecil pada tabel pegawai
4.5. Fungsi SUM Fungsi SUM berguna untuk menjumlahkan data. Contoh pernyataan SQL : Memperoleh total gaji Pernyataan: SELECT SUM(gaji) FROM pegawai;
Gambar 15. Menampilkan total gaji sum 13260000 Gambar 15. Menampilkan total gaji
4.6. Klausa LIMIT Klausa LIMIT berguna untuk membatasi jumlah baris yg dihasilkan oleh suatu query. Bentuk klausa ini: LIMIT jumlah dengan jumlah menyatakan jumlah maksimal baris yg akan dihasilkan. Contoh pernyataan SQL : SELECT nip, nama_peg FROM pegawai LIMIT 5;
Gambar 16. Efek klausa LIMIT 5. Hanya lima baris yg ditampilkan nip nama_peg 12345 Fuad Mawardi 12346 John Simatupang 12347 Freska Iskandar 12348 Kadarisman 12349 Kresnawan Gambar 16. Efek klausa LIMIT 5. Hanya lima baris yg ditampilkan
Kata kunci LIMIT juga bisa diikuti dengan ALL Kata kunci LIMIT juga bisa diikuti dengan ALL. Efeknya, semua baris akan ditampilkan. Contoh: SELECT nip, nama_peg FROM pegawai LIMIT ALL
nip nama_peg 12345 Fuad Mawardi 12346 John Simatupang 12347 Freska Iskandar 12348 Kadarisman 12349 Kresnawan 12351 Rianto 12352 Fahmi 12353 Ida Ayu 12354 Dian Arum 12355 Kartono Gambar 17. Efek LIMIT ALL