Subquery
Penjelasan
Subquery adalah query yang ditulis di dalam query lain, biasanya di dalam WHERE, SELECT, atau FROM. Subquery berguna ketika kondisi penyaringan butuh hasil dari query lain terlebih dahulu — misalnya "cari produk yang harganya di atas rata-rata semua produk".
Contoh Konsep
-- Produk dengan harga di atas rata-rata semua produk
SELECT name, price
FROM products
WHERE price > (SELECT AVG(price) FROM products);
-- Subquery dengan IN: user yang pernah menulis artikel
SELECT name FROM users
WHERE id IN (SELECT DISTINCT author_id FROM articles);
-- Subquery di FROM (dianggap sebagai tabel sementara)
SELECT category, jumlah
FROM (
SELECT category, COUNT(*) AS jumlah FROM products GROUP BY category
) AS ringkasan
WHERE jumlah > 10;
Praktikum
Tulis query untuk mencari artikel dari tabel 'articles' yang view_count-nya di atas rata-rata view_count semua artikel, menggunakan subquery.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Subquery mudah dibaca tapi kadang lebih lambat dari JOIN karena database mungkin menjalankannya berulang kali — untuk data besar, cek dulu apakah query yang sama bisa ditulis pakai JOIN.