Menyaring Data Menggunakan Subquery

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:

  1. Menyaring data berdasarkan subquery.
  2. 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.

Categories:

0 Comments:

Post a Comment