Database and SQL Fundamental 6
📘 Pertemuan 6 – Penggunaan ORDER BY, GROUP BY, dan Logika AND, OR, serta IF (CASE) di SQL Server
🎯 Tujuan Pembelajaran
Setelah pertemuan ini, siswa diharapkan mampu:
- Mengurutkan data menggunakan
ORDER BY - Mengelompokkan data dengan
GROUP BY - Menggunakan kondisi logika
AND,ORdanNOT - Menggunakan logika percabangan
IFdenganCASE WHENdi SQL Server
1. ORDER BY
Perintah ORDER BY digunakan untuk mengurutkan hasil query berdasarkan satu atau lebih kolom.
1 | SELECT Judul, Pengarang, TahunTerbit |
💡 Keterangan:
ASC= urut naik (default)DESC= urut menurun
2. GROUP BY
Perintah GROUP BY digunakan untuk mengelompokkan baris berdasarkan nilai kolom tertentu. Biasanya digunakan bersama fungsi agregat seperti COUNT(), SUM(), AVG(), dll.
1 | SELECT Pengarang, COUNT(*) AS JumlahBuku |
💡 Contoh hasil:
| Pengarang | JumlahBuku |
|---|---|
| Tere Liye | 5 |
| Dewi Lestari | 2 |
| Andrea Hirata | 3 |
3. Kombinasi GROUP BY dan HAVING
HAVING digunakan untuk memfilter hasil setelah pengelompokan (karena WHERE tidak bisa digunakan pada hasil agregat).
1 | SELECT Pengarang, COUNT(*) AS JumlahBuku |
💡 Penjelasan:
Menampilkan hanya pengarang yang memiliki lebih dari 2 buku.
4. Logika AND, OR dan NOT
Keduanya digunakan untuk menggabungkan kondisi di perintah WHERE.
1 | -- Contoh 1: Menggunakan AND |
💡 Penjelasan:
AND→ kedua kondisi harus benarOR→ salah satu kondisi cukup benarNOT→ selain kondisi benar yang diminta
5. Logika Percabangan IF dengan CASE WHEN
SQL Server tidak memiliki IF langsung dalam SELECT, tetapi kita bisa menggunakan CASE.
1 | SELECT |
💡 Penjelasan:
CASE WHENberfungsi sepertiIF-ELSE- Dapat digunakan di
SELECT,ORDER BY, atau bahkan diUPDATE
6. Latihan Mandiri
- Tampilkan semua data buku dengan urutan berdasarkan
Pengarangsecara alfabetik. - Kelompokkan buku berdasarkan
Penerbit, lalu hitung jumlah buku per penerbit. - Tampilkan hanya penerbit yang memiliki lebih dari 3 buku.
- Gunakan kondisi
AND,ORdanNOTuntuk menampilkan:- Buku terbit setelah 2018 dan diterbitkan oleh “Gramedia”
- Buku terbit sebelum 2010 atau oleh pengarang “Andrea Hirata”
- Buku yang ditulis selain oleh pengarang “JK Rowling”
- Buat kolom baru
StatusTahunmenggunakanCASE:- Jika
TahunTerbit> 2018 → “Terbaru” - Jika antara 2010–2018 → “Menengah”
- Jika < 2010 → “Klasik”
- Jika
7. Tugas Tambahan
Buat query untuk menampilkan daftar pengarang beserta:
- Jumlah buku yang ditulis (
COUNT) - Tahun terbit tertua (
MIN) - Tahun terbit terbaru (
MAX) - Status buku berdasarkan
CASE:- Jika
MAX(TahunTerbit)>= 2022 → “Aktif” - Jika antara 2015–2021 → “Produktif”
- Jika < 2015 → “Tidak aktif lagi”
- Jika
Gunakan GROUP BY Pengarang untuk mengelompokkan hasilnya.
💡 Catatan Tambahan
ORDER BYselalu ditulis paling akhir di query.HAVINGhanya digunakan setelahGROUP BY.CASE WHENbisa digunakan untuk membuat data lebih informatif tanpa perlu mengubah tabel.
📘 Kesimpulan
| Konsep | Fungsi | Contoh Singkat |
|---|---|---|
| ORDER BY | Mengurutkan hasil | ORDER BY TahunTerbit DESC |
| GROUP BY | Mengelompokkan data | GROUP BY Pengarang |
| HAVING | Filter setelah agregasi | HAVING COUNT(*) > 2 |
| AND / OR | Logika gabungan | WHERE x AND y / WHERE x OR y |
| CASE WHEN | Logika if-else | CASE WHEN Tahun > 2020 THEN 'Baru' |


