Query Lanjutan
A. SubQuery
Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL statement lain.
B. Penggunaan Subquery
Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu niai yang tidak diketahui (unknow values).
C. Subquery Banyak Kolom
Pada subquery dengan banyak kolom, tiap baris dari main query dibandingkan
dengan nilai dari subquery multiple-row dan multiple-column.
D. Pembandingan Kolom
Pembandingan kolom dalam subquery banyak kolom dapat berupa :
· Pembandingan berpasangan (Pairwise Comparison SubQuery)
· Pembandingan tidak berpasangan (NonPairwise Comparison SubQuery)
E. 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.
F. 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 diguanakan dalam :
· Kondisi dan ekspresi sebagai bagian dari perintah DECODE dan CASE.
· Semua klausa dari SELECT Statement kecuali GROUP BY.
G. Korelasi Subquery
Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query.
H. 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.
I. 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:
Posting Komentar