SQL Lanjut

Pada resume ini akan dijelaskan tentang

  • Subquery dan penggunaannya
  • Subquery dengan banyak kolom
  • Pairwise Comparition Subquery
  • NonPairwise Comparition Subquery
  • Penggunaan query dalam klausa from
  • Ekspresi skalar
  • korelasi Subquery dan penggunaannya
  • Penggunaan query dalam klausa with.

Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL Statement yang lain. Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values).
Pada subquery dengan banyak kolom, tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column.

Pembandingan kolom dalam subquery banyak kolom dapat berupa :

1. Pembandingan berpasangan (Pairwise Comparison SubQuery)
2. 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 diguanakan 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. Proses korelasi dimulai dengan mengambil baris dari outer query, kemudian inner query dijalankan dengan menggunakan nilai baris kandidat, kemudian nilai dari inner query digunakan untuk melakukan kualifikasi atau mendiskualifikasi baris kandidat.
Korelasi Subquery juga dapat digunakan untuk :

1. meng-update baris pada satu table berdasarkan pada baris dari table yang lain, korelasi seperti itu dinamakan dengan Korelasi Update.
2. menghapus baris pada satu table berdasarkan pada baris dari table yang lain, korelasi seperti itu dinamakan dengan Korelasi Delete.

Operator EXISTS 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.

About Iin aryani

I don't wanna be a "Copycat" but, something they need to copy.

Posted on 3 January 2013, in Uncategorized and tagged . Bookmark the permalink. Leave a comment.

Komentar untuk penulis

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: