QUERY LANJUTAN

  • SubQuery

    Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL statement lain.
    Penggunaan Subquery: Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu niai yang tidak diketahui (unknow values). Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui. Berikut contoh penggunaan subQuery:
    SELECT last_name FROM employees WHERE salary > SELECT salary FROM employees WHERE employee_id=149); 
    Subquery Banyak Kolom: Pada subquery dengan banyak kolom, tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column. 
    Pembandingan Kolom: Pembandingan kolom dalam subquery banyak kolom dapat berupa : Pembandingan berpasangan (Pairwise Comparison SubQuery) Pembandingan tidak berpasangan (NonPairwise Comparison SubQuery) 
    Penggunaan Query dalam klausa from: Query bisa diletakkan di dalam klausa FROM untuk membentuk tabel temporer. Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk object database. 
    Ekspresi Scalar Subquery: Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris. Scalar subquery pada standart SQL-92 hanya terbatas pada : SELECT Statement (klausa FROM dan WHERE saja) Daftar VALUE dari statement INSERT Pada standart SQL-99, scalar subqueries dapat digunakan dalam : Kondisi dan ekspresi sebagai bagian dari perintah DECODE dan CASE. Semua klausa dari SELECT Statement kecuali GROUP BY. 
    Korelasi Subquery: Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query. 
    Penggunaan Operator Exist dan Not Exist: Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery. Jika ditemukan, maka : Pencarian tidak dilanjutkan dalam inner query dan kondisi ditandai TRUE. Jika tidak ditemukan, maka : Kondisi ditandai FALSE dan kondisi pencarian dilanjutkan dalam inner query. 
    Penggunaan Klausa With: Dengan menggunakan klausa WITH, kita dapat menggunakan blok query yang sama dalam statement SELECT pada saat terjadi lebih dari sekali dalam complex query. Klausa WITH mendapatkan hasil dari blok query dan menyimpannya dalam tablespace temporer kepunyaan user. Klausa WITH dapat meningkatkan performansi.

Tidak ada komentar: