Pengertian Subquery
Subquery adalah statement SELECT yang di-embed-kan dalam klausa selain statement SELECT.
Subquery dapat ditempatkan dalam klausa SQL termasuk dalam :
- klausa WHERE
- klausa HAVING
- klausa FROM
Contoh penggunaan subquery, pada gambar dibawah ini :
penjelasan :
subquery pada gambar merupakan perintah untuk menampilkan last_name, salary pegawai dari tabel employees, yang memiliki gaji lebih besar dari pegawai yang memiliki last_name 'Vargas'.
gaji 'Vargas' = 2500, maka akan ditampilkan last_name dan salary pegawai yang memiliki gaji lebih besar dari 2500.
bukti gaji 'Vargas' :
- Subquery (inner query) akan dieksekusi sebelum main query (outer query).
- Hasil dari subquery akan digunakan oleh main query.
Panduan Penggunaan Subquery
- Letakkan sub query di dalam tanda kurung
- Tempatkan sub query pada sisi kanan dari kondisi pembandingan
- Klausa ORDER BY dalam sub query tidak diperlukan kecuali melakukan Top-N Analysis
- Gunakan operator single-row dengan single-row subqueries, dan gunakan operator multiple-rowdengan multiple-row subqueries.
Tipe-tipe Subquery
- Single-row subqueries : query yang hanya mengembalikan satu record (baris) dari inner statement SELECT
- Multiple-row subqueries : query yang mengembalikan lebih dari satu record (baris) dari inner statement SELECT
- Multiple-column subqueries : query yang mengembalikan lebih dari satu kolom dari inner statement SELECT.