setalah dari tadi pagi puyeng nyari syntax sql untuk menjumlahkan data kembar akhirnya sampai juga pada tutorial ini , perintah - perintah lanjut manajemen database sql
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 |