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; id_bin nama tgl_lahir sex JOLIE Angelina Jolie 1975-06-04 W CDIAZ Cameron Diaz 1972-08-30 W HAKIM Christine Hakim 1957-12-25 W CINDY Cindy Crawford 1966-02-20 W DEMIM Demi Moore 1962-11-11 W DREWB Drew Barrymore 1975-02-22 W JULIA Julia Roberts 1967-10-28 W KEANU Keanu Reeves 1964-09-02 P KELLY Kelly McGillis 1957-07-09 W KEVIN Kevin Costner 1955-01-18 P RGERE Richard Gere 1946-08-29 P SANDR Sandra Bullock 1964-07-26 W STONE Sharon Stone 1958-03-10 W RAHAR Slamet Rahardjo SYLVE Sylvester Stallone P 1946-07-06 P 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 1958-03-10 W RGERE Richard Gere 1946-08-29 P KEVIN Kevin Costner 1955-01-18 P KELLY Kelly McGillis 1957-07-09 W KEANU Keanu Reeves 1964-09-02 P JULIA Julia Roberts 1967-10-28 W DREWB Drew Barrymore 1975-02-22 W DEMIM Demi Moore 1962-11-11 W CINDY Cindy Crawford 1966-02-20 W HAKIM Christine Hakim 1957-12-25 W CDIAZ Cameron Diaz 1972-08-30 W JOLIE Angelina Jolie 1975-06-04 W P 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; sex nama P Sylvester Stallone P Kevin Costner P Keanu Reeves P Richard Gere P Slamet Rahardjo W Drew Barrymore W Sharon Stone W Cristine Hakim W Julia Roberts W Demi Moore W Cindy Crawford W Cameron Diaz W Sandra Bullock W Kelly McGillis W 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; sex nama P Keanu Reeves P Kevin Costner P Richard Gere P Slamet Rahardjo P Sylvester Stallone W Angelina Jolie W Cameron Diaz W Cristine Hakim W Cindy Crawford W Demi Moore W Drew Barrymore W Julia Roberts W Kelly McGillis W Sandra Bullock W Angelina Jolie 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 SELECT sex, nama FROM infoprib ORDER BY sex, nama DESC; sex nama P Sylvester Stallone P Slamet Rahardjo P Richard Gere P Kevin Costner P Keanu Reeves W Sharon Stone W Sandra Bullocs W Kelly McGillis W Julia Roberts W Drew Barrymore W Demi Moore W Cindy Crawford W Christine Hakim W Cameron Diaz W 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; sex nama W Sharon Stone W Sandra Bullock W Kelly McGillis W Julia Roberts W Drew Barrymore W Demi Moore W Cindy Crawford W Christine Hakim W Cameron Diaz W Angelina Jolie P Sylvester Stallone P Slamet Rahardjo P Richard Gere P Kevin Costner P 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. sex nama P Sylvester Stallone P Slamet Rahardjo W Sharon Stone W Sandra Bullock P Richard Gere P Kevin Costner W Kelly McGillis P Keanu Reeves W Julia Roberts W Drew Barrymore W Demi Moore W Cindy Crawford W Christine Hakim W Cameron Diaz W 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; Sex P 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 Yogya Pemasaran 12347 Freska Iskandar 1500000 Klaten Personalia 12348 Kadarisman 960000 Sleman Akunting 12349 Kresnawan 1200000 Magelang EDP 12351 Rianto 750000 Bantul Akunting 12352 Fahmi Klaten EDP 12353 Ida Ayu 750000 Sleman Personalia 12354 Dian Arum 800000 Yogya Produksi 12355 Kartono 700000 Yogya Produksi • 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 SELECT kota FROM pegawai 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. 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 Fungsi agregat AVG COUNT MAX MIN SUM Keterangan Memperoleh nilai rata-rata Menghitung cacah data Menghasilkan nilai terbesar Menghasilkan nilai terkecil 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; 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(*) FROM 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; 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; 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; 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; nip 12345 12346 12347 12348 12349 nama_peg Fuad Mawardi John Simatupang Freska Iskandar Kadarisman Kresnawan Gambar 16. Efek klausa LIMIT 5. Hanya lima baris yg ditampilkan • Kata kunci LIMIT juga bisa diikuti dengan ALL. Efeknya, semua baris akan ditampilkan. • Contoh: SELECT nip, nama_peg FROM pegawai LIMIT ALL nip 12345 12346 12347 12348 12349 12351 12352 12353 12354 12355 nama_peg Fuad Mawardi John Simatupang Freska Iskandar Kadarisman Kresnawan Rianto Fahmi Ida Ayu Dian Arum Kartono Gambar 17. Efek LIMIT ALL