::: BELAJAR SQL (LANJUT) 1 :::
Selamat berjumpa kembali dalam kursus tutorial SQL. Tutorial ini dikhususkan bagi anda yang telah mengikuti kursus tutorial SQL Pemula atau anda yang telah menguasai perintah-perintah dasar yang terdapat pada SQL. Bagi anda yang belum maka saya sarankan untuk mengikuti SQL Pemula terlebih dahulu karena disini metode yang akan saya gunakan sedikit berbeda.
ORDER BY
Order by adalah perintah yang digunakan untuk mengurutkan data pada tabel secara ascending (menaik) atau descending (menurun).
Misalkan kita memiliki tabel seperti ini:
Karyawan
Kode | Nama | Gaji |
KP01 | Amrin | 200000 |
KP02 | Camelia | 300000 |
KP03 | Bembi | 100000 |
Untuk menampilkan tabel diatas urut berdasarkan Nama dari A-Z (ascending) perintahnya adalah:
select Kode,Nama,Gaji
from Karyawan
order by Nama;
Perintah diatas akan menampilkan hasil seperti ini:
Kode | Nama | Gaji |
KP01 | Amrin | 200000 |
KP03 | Bembi | 100000 |
KP02 | Camelia | 300000 |
Perhatikan, tabel diatas menampilkan data urut Nama dari A-Z. Sebaliknya,untuk menampilkan data urut Nama dari Z-A (descending), perintahnya adalah:
select Kode,Nama,Gaji
from Karyawan
order by Nama DESC;
Anda bisa juga memodifikasinya dengan perintah Where. Misal saja anda hanya ingin menampilkan data karyawan bergaji > 100000 dan urut Kode dari besar ke kecil (descending), maka anda gunakan perintah ini:
select Kode,Nama,Gaji
from Karyawan
where gaji > 100000
order by Kode DESC;
Hasilnya akan tampak seperti ini:
Kode | Nama | Gaji |
KP02 | Camelia | 300000 |
KP01 | Amrin | 200000 |
MIN, MAX, AVG, SUM, DAN COUNT
Perintah | Fungsi |
MIN | Mencari jumlah paling kecil / minimum |
MAX | Mencari jumlah paling besar / maksimun |
AVG | Menghitung rata-rata |
SUM | Menghitung hasil penjumlahan |
COUNT | Menghitung hasil pencacahan / counter |
Masih menggunakan tabel Karyawan, kita ingin menampilkan gaji tertinggi. Maka perintahnya:
select MAX(gaji)
from Karyawan;
Hasilnya:
Gaji |
300000 |
Lain halnya bila kita ingin menghitung jumlah dari gaji Karyawan. Perintahnya adalah:
select SUM(gaji)
from Karyawan;
Hasilnya:
600000 |
Contoh lain adalah bila kita ingin mengetahui jumlah karyawan maka perintahnya sebagai berikut:
select COUNT(*)
from Karyawan;
GROUP BY
Perintah Group By memiliki kegunaan untuk melakukan perhitungan berdasarkan kriteria tertentu. Untuk lebih jelasnya coba perhatikan tabel dibawah ini:
Pegawai_baru
Kode | Nama | Asal | Pendidikan | Gaji |
PB01 | Ronald | Jakarta | S1 | 400000 |
PB02 | Made | Bali | S1 | 300000 |
PB03 | Aziz | Semarang | S1 | 300000 |
PB04 | Mustofa | Semarang | D3 | 250000 |
PB05 | Eka | Jakarta | S1 | 275000 |
PB06 | Gozali | Yogya | D3 | 200000 |
PB07 | Dani | Jakarta | S1 | 350000 |
Dari tabel Pegawai_baru, kita ingin menampilkan gaji tertinggi / maksimum yang diperoleh pegawai berdasarkan pendidikannya. Maka perintahnya adalah:
select Pendidikan,max(Gaji)
from Pegawai_baru
GROUP BY Pendidikan;
Hasil dari perintah diatas seperti ini :
D3 | 250000 |
S1 | 400000 |
Kasus lain : kita ingin menampilkan berapa banyak pegawai berdasarkan kota asalnya. Maka kita dapat menggunakan perintah count untuk pencacahan. Lebih jelasnya seperti ini:
select Asal,count(Asal)
from Pegawai_baru
GROUP BY Asal;
Bali | 1 |
Jakarta | 3 |
Semarang | 2 |
Yogya | 1 |
Contoh lain, bila kita ingin mengetahui berapa banyak pegawai dan jumlah total gaji yang dikeluarkan untuk masing-masing pendidikan, caranya:
select Pendidikan,count(Pendidikan),sum(Gaji)
from Pegawai_baru
GROUP BY Pendidikan;
Hasilnya:
D3 | 2 | 1625000 |
S1 | 5 | 450000 |
Created at Sept 2 2002