3.11 MERANCANG SQL BERTINGKAT DALAM MEMANIPULASI BASIS DATA
SQL bertingkat (subquery) digunakan untuk mengembalikan data yang akan digunakan dalam permintaan utama(main query).
Sub-Query sangat berguna ketika ingin menampilkan data dengan kondisi yang bergantung pada data di dlm tabel itu sendiri, cara tersebut bertujuan menyamakan primary key dan foreign key pada statement select. Sub-query digunakan untuk menyelesaikan persoalan dalam hal ini terdapat suatu nilai yang tidak diketahui(unknown values)
SQL bertingkat kita temukan dalam bentuk :
single row subquery yang menampilkan nol atau satu baris data. kita dapat menempatkan subquery dalam klausa WHERE, klausa HAVING atau klausa FROM dari pernyataan SELECT.
Multiple row subquery menampilkan satu atau lebih data. kita dapat menggunakan operator IN, ANY, atau ALL dalam query untuk menangani subquery yang menampilkan beberapa baris.
ATURAN PENERAPAN SQL BERTINGKAT(SUBQUERY)
subquery harus disisipkan tanda kurung.
subquery hanya dapat memiliki satu kolom dalam klausa SELECT(ekspresi), kecuali beberapa kolom berada dalam query utama untuk membandingkan kolom yang dipilih atau menggunakan kata kunci EXIST.
ORDER BY tidak dapat digunakan dalam subquery, meskipun query utama dapat menggunakan ORDER BY.jika ORDER BY digunakan penyataan SELECT harus di luar. GROUP BY dapat digunakan untuk melakukan fungsi yang sama dengan ORDER BY dalam subquery.
subquery yang mengembalikan lebih dari satu baris hanya dapat digunakan dengan beberapa operator nilai seperti operator IN.
FORMAT PENULISAN SQL BERTINGKAT(SUBQUERY) dalam SELECT : :
SELECT column_name
FROM table_name
WHERE column_name OPERATOR
(SELECT column_name, FROM table_name WHERE column_name);
FORMAT PENULISAN SQL BERTINGKAT (SUBQUERY) dalam INSERT:
INSERT INTO table_name [column_name1, column_name2,] SELECT * FROM TABLE WHERE value_operator
FORMAT PENULISAN SQL BERTINGKAT(SUBQUERY) dalam UPDATE:
UPDATE table SET column_name=new_value WHERE operator (SELECT column_name FROM table_name WHERE condition)
FORMAT PENULISAN SQL BERTINGKAT (SUBQUERY) dalam DELETE:
DELETE FROM table_name WHERE operator (SELECT column_name FROM table_name WHERE condition)
Tidak ada komentar:
Posting Komentar