Subquery
Sub query berarti
query yang ada di dalam query. Dengan menggunakan subquery, hasil dari query akan menjadi bagian dari query di atasnya. Subquery terletak di dalam klausa WHERE atau HAVING.Pada
klausa WHERE, subquery digunakan untuk memilih baris-baris
tertentu yang kemudian digunakan oleh query.Beberapa kegunaan dari subquery adalah
:
- Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values).
- Meng-copy data dari satu table ke table lain
- Menerima data dari in line view
- Mengambil data dari table lain untuk kemudian diupdate ke table yang dituju
- Menghapus baris data dari suatu table berdasarkan baris lain table lain
Bentuk umum dari
subquery adalah sebagai berikut :
Sintaks formal subquery bias ditulis sebagai
berikut :
SELECT A1, A2, . . .An
FROM r1, r2,
r3, . . .rm
WHERE P
(SELECT A1, A2, . . ., An
FROM r1, r2, r3, . . .rm
WHERE P)
Contoh : perintah untuk menampilkan data pada table jenis_film yang mana data pada
kolom jenisnya tercantum
pada table film menggunakan IN.
SELECT * FROM
JENIS_FILM WHERE JENIS IN (SELECT JENIS FRM FILM):
Atau menggunakan EXISTS
SELECT *FROM JENIS_FILM WHERE EXISTS (SELECT *FROM
FILM WHERE HARGA > 2000);
Pada contoh diatas :
SELECT JENIS FROM FILM disebut subquery,
sedangkan :SELECT *FROM JENIS_FILM
berkedudukan sebagai query. Perhatikan, terdapat data jenis
dan harga pada
table
jenis_film yang tidak ditampilkan.
Subquery
dapat diklasifikan kedalam
tiga jenis : scalar, multiple-row, dan multiple-column.
a)
Scalar SubQuery
SubQuery
baris tunggal (scalar) hanya mengembalikan hasil
satu baris data. Bentuk subquery
ini diperlihatkan seperti
gambar sebagai berikut :
Sub query baris
tunggal dapat menggunakan
operator baris tunggal
=,>,>=,<, <=, atau<>.
b)
Multiple-Row Subquery
Subquery baris ganda (multiple-row) mengembalikan lebih dari satu
baris data. Bentuk subquery ini diperlihatkan seperti
gambar sebagai berikut :
Subquery baris ganda dapat
menggunakan operator komparasi
IN,
ANY/ SOME, atau ALL.
c)
Multiple-Column SubQuery
Subquery
kolom ganda (multiple-column) mengembalikan lebih dari satu
baris dan satu
kolom data. Bentuk subquery ini diperlihatkan seperti
gambar sebagai berikut :
Fungsi
Where
Where digunakan untuk memfilter data pada perintah Select Syntax dasar:
SELECT column name(s)
FROM table_name
WHERE column_name operator value
Berikut pernyataan SQL memilih semua mata kuliah “Tabel Mata Kuliah”, dalam
“nama_matkul” table.
Contoh :
SELECT *FROM TabelMata_Kuliah
WHERE Nama_matkul=’Basis Data’;
SQL membutuhkan tanda kutip tunggal
di sekitar
nilai-nilai teks
(sebagian
besar sistem
database juga akan memungkinkan tanda kutip ganda).
Namun,
bidang numeric tidak boleh tertutup dalam tanda kutip:
Contoh :
SELECT *FROM Customer
WHERE
Kode_MK=202;
1.3 Fungsi Like
Operator LIKE
digunakan untuk mencari pola
yang telah ditentukan dalam kolom
SQL LIKE Syntax
SELECT
nama_kolom(s)
FROM
nama_tabel
WHERE
nama_kolom LIKE pattern;
Berikut pernyataan SQL memilih semua pelanggan dengan mata kuliah yang diawali dengan huruf
“b”:
Contoh :
SELECT *FROM TabelMata_Kuliah
WHERE Nama_Matkul LIKE
‘b%’;
Catatan : Tanda modulus “%” tanda digunakan untuk mendefinisikan huruf, angka,
maupun kalimat baik sebelum dan sesudah.
Berikut pernyataan SQL memilih semua mata kuliah dengan nama mata kuliah yang berisi pola “data”:
Contoh :
SELECT
*FROM Tabel Mata_Kuliah
WHERE
Nama_Matkul NOT_Like
‘%data%’;
0 comments:
Post a Comment