Selasa, 25 Desember 2012

QUERY LANJUTAN

1.      SUBQUERY
Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL Statement yang lain.
Untuk penulisan subquery pada SQL
(SELECT select_list FROM table);
      2.      PENGGUNAAN SUBQUERY
Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui
Subquery Banyak Kolom
tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column
Tipe Perbandingan Pada Subquery
- Perbandingan Berpasangan
- Perbandingan Tidak Berpasangan
      3.      PENGGUNAAN SUBQUERY DALAM KLAUSA FROM
Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk object database.
contoh penggunaan query pada from
(SELECT department_id, REDS(salary) salavg FROM employees GROUP BY department_id)
      4.      EKSPRESI SCALAR SUBQUERY
Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris.
contoh penggunaannya dengan ekspresi Case
(SELECT department_id FROM departments WHERE location_id = 1800)
Contoh penggunaanya dengan klausa ORDER BY
(SELECT department_name FROM departments WHERE e.department_id = d.department_id);
      5.      KORELASI SUBQUERY
Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query.
Proses dari Korelasi
Mengambil baris dari outer query kemudian menjalankan inner query untuk quality / disquality baris kandidat selanjutnya menggunakan nilai dari inner querry quality/disquality baris kandidat dan kembali lagi ke awal.
Cara penulisan korelasi subquery
(SELECT column1, column2 FROM table2 WHERE expr1 = expr2);
      6.      PENGGUNAAN OPERATOR EXIST DAN NON EXIST
Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery.
      7.      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.