Pages

Thursday, July 17, 2014

SubQuery

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 :
  1. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values).
  2. Meng-copy data dari satu table ke table lain
  3.  Menerima data dari in line view
  4.  Mengambil data dari table lain untuk kemudian diupdate ke table yang dituju
  5.   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