Statemen select merupakan query sql yang digunakan untuk menampilkan data. Sebagai contoh saya menampilkan semua data pada tabel murid dengan query sebagai berikut:
SELECT * FROM murid
Statemen select di atas merupakan contoh query yang sangat sederhana yaitu statemen tunggal yang mengambil data dari tabel individual.
SQL memungkinkan pembuatan subquery yaitu statemen select yang diletakkan pada statemen select lainnya. Mengapa perlu menggunakan subquery ?
Penggunaan subquery umumnya digunakan dalam dua kondisi antara lain:
- Menyaring data berdasarkan subquery.
- Menggunakan subquery sebagai field hitungan.
Untuk tutorial kali ini akan menjelaskan bagaimana cara menyaring data berdasarkan subquery, sebagai contoh saya memiliki dua buah tabel yaitu tabel pelanggan dan tabel pesanan.
Tabel pelanggan:
KodePelanggan | Nama |
---|---|
001 | Subali |
002 | Gina |
003 | Dafa |
004 | Eva |
005 | Darma |
Tabel pesanan:
KodePesanan | KodePelanggan | KodeBarang |
---|---|---|
P20151208001 | 001 | P001 |
P20151208002 | 001 | P002 |
P20151208003 | 002 | P001 |
P20151208004 | 003 | P001 |
P20151208005 | 004 | P003 |
P20151208006 | 005 | P002 |
Misalkan saya ingin menampilkan informasi semua pelanggan yang memesan barang dengan kode barang P001. Dengan subquery dapat dilakukan sebagai berikut:
SELECT * FROM pelanggan WHERE KodePelanggan IN ( SELECT KodePelanggan FROM pesanan WHERE KodeBarang = ‘P001’ )
Pada statemen select di atas subquery digunakan untuk menyaring data karena subquery diletakkan sebagai nilai klausa where dimana klausa where memang digunakan untuk menyaring baris data.
Apabila diperhatikan terdapat klausa IN() yang digunakan untuk menampung hasil subquery dalam hal ini adalah nilai kode pelanggan.
Catatan: subquery selalu memulai proses select yang paling dalam, sebagai contoh statemen select di atas akan menjalankan statemen select yang dijadikan subquery terlebih dahulu.
Berikut hasil statemen select di atas:
KodePelanggan | Nama |
---|---|
001 | Subali |
002 | Gina |
003 | Dafa |
Apabila ada hal yang ingin ditanyakan silahkan tinggalkan melalui fasilitas komentar pada blog ini. Untuk artikel saya selanjutnya akan melanjutkan tentang subquery pada kondisi Menggunakan subquery sebagai field hitungan.
0 Comments:
Post a Comment