Subkueri Bagian 2
Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 39 dari 72.
Ada tiga jenis utama subkueri:
- Subkueri skalar - Mengembalikan satu nilai (satu baris, satu kolom)
- Subkueri baris - Mengembalikan satu baris dengan beberapa kolom
- Subkueri tabel - Mengembalikan beberapa baris dan kolom
Sebagai contoh, berikut beberapa penggunaan untuk setiap jenis subquery:
Subquery skalar: Temukan karyawan yang gajinya lebih tinggi daripada gaji rata-rata:
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);Subkueri Baris - Temukan karyawan yang memiliki departemen dan gaji yang sama dengan Alice
SELECT name
FROM employees
WHERE (department, salary) = (
SELECT department, salary
FROM employees
WHERE name = 'Alice'
);Subkueri Tabel: Tampilkan departemen dan jumlah karyawannya
SELECT department, count
FROM (
SELECT department, COUNT(*) as count
FROM employees
GROUP BY department
) as dept_counts;Perhatikan kasus penggunaannya:
- Skalar: Perbandingan sederhana (>, <, =)
- Saat kamu perlu mencocokkan beberapa kolom
- Saat kamu perlu melakukan query dari kumpulan hasil
Tantangan
MudahTabel dan kolom yang tersedia:
shop:price,quantity,category,list_date
Temukan kategori yang total kuantitasnya lebih besar daripada rata-rata semua kuantitas di toko. Kembalikan category dan jumlah kuantitas dengan nama total_quantity.
Penting: Kamu harus menggunakan subkueri di dalam klausa HAVING untuk menghitung rata-rata. Jangan gunakan nilai yang ditetapkan secara langsung atau kueri terpisah: subkueri harus menghitung AVG(quantity) dari tabel shop secara langsung di dalam HAVING.
Langkah-langkah penyelesaian:
- Pertama, tulis subkueri yang menghitung rata-rata semua kuantitas di toko:
SELECT AVG(quantity) FROM shop - Lalu, jumlahkan kuantitas untuk setiap kategori dan bandingkan dengan subkueri ini menggunakan kata kunci
HAVING
Coba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Kata Kunci Lainnya
Kata kunci INKata kunci BETWEENKata kunci LIKEKata kunci ASRangkuman: Model Ponsel2Kondisi
Dasar KondisiKata Kunci ANDKata Kunci ORKata Kunci NOTMenggabungkan Beberapa KondisiTanda KurungNilai Boolean3Format Pengembalian Khusus
Nilai nullUrutkan Hasil Bagian 1Urutkan Hasil Bagian 2Ulasan: Perusahaan Keamanan SiberBatasi Jumlah RecordUlasan: Pabrik Kendaraan6Tantangan Pengantar
Ulasan: Pemilihan ParlemenUlasan: Polisi Menangkap Pelaku KejahatanUlasan: Wadah Minuman BarUlasan: Insinyur Membuat Kolom BaruLatihan sendiri: Playground SQL