t5 - query lanjutan [3]

18
T3 – QUERY LANJUTAN (3) 1. SISKA AMELIA (2103131034) 2. MUHAMMAD SULISTIYO (21031310346) DOSEN : Rengga Asmara, S.Kom. OCA

Upload: siska-amelia

Post on 11-Apr-2017

151 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: T5 - Query Lanjutan [3]

T3 – QUERY LANJUTAN (3) 1. SISKA AMELIA (2103131034)

2. MUHAMMAD SULISTIYO (21031310346)

DOSEN : Rengga Asmara, S.Kom. OCA

Page 2: T5 - Query Lanjutan [3]

TUJUAN1. Mengenal ekspresi scalar subquery2. Mamahami korelasi subquery3. Penggunaan operator EXIST dan NON EXIST4. Penggunaan klausa WITH

Page 3: T5 - Query Lanjutan [3]

MENGENAL EKSPRESI SCALAR SUBQUERY

Page 4: T5 - Query Lanjutan [3]

EKSPRESI SCALAR SUBQUERY

Ekspresi Scalar Subquery adalah sebuah subquery yang hanya mengembalikan satu nilai kolom satu baris

Scalar Subquery dapat digunakan dalam :- Kondisi dan ekspresi bagian dari DECODE dan

CASE- Semua klausa SELECT kecuali dalam GROUP BY

Page 5: T5 - Query Lanjutan [3]

CONTOH SCALAR SUBQUERY DALAM EKSPRESI CASE

Page 6: T5 - Query Lanjutan [3]

CONTOH SCALAR SUBQUERY DALAM KLAUSA ORDER BY

Page 7: T5 - Query Lanjutan [3]

Korelasi SubQuery digunakan untuk pemrosesan baris-per-baris (row-by-row)

Tiap subquery dieksekusi sekali untuk setiap row baris dari outer query Proses sebagai berikut :

KORELASI SUBQUERY

Page 8: T5 - Query Lanjutan [3]

Proses korelasi dimulai dengan mengambil baris dari outer query, kemudian inner query dijalankan dengan menggunakan niat baris kandidat, kemudian nilai inner query digunakan untuk melakukan kualifikasi atau mendiskualifikasi baris kandidat.

Sintaks penulisan korelasi SubQuery

* Sintaks diatas : subquery mereference suatu kolom dari sebuah table dalam parent / outer query

KORELASI SUBQUERY

Page 9: T5 - Query Lanjutan [3]

1. SubQuery untuk mendapatkan data semua pegawai yang memiliki gaji lebih dari rata-rata gaji pada department tempatnya kerja

CONTOH PENGGUNAAN KORELASI SUBWUERY

Page 10: T5 - Query Lanjutan [3]

2. Menampilkan detail pegawai yang pernah berganti job sedikitnya dua kali

CONTOH PENGGUNAAN KORELASI SUBWUERY

Page 11: T5 - Query Lanjutan [3]

3. Korelasi SubQuery juga dapat digunakan untuk meng-update baris pada satu table berdasarkan pada baris dari table yang lain, korelasi seperti itu dinamakan dengan Korelasi Update

Lakukan denormalisasi pada table EMPLOYEES dengan menambahkan satu kolom pada tabel tersebut untuk menyimpan nama department

CONTOH PENGGUNAAN KORELASI SUBWUERY

Page 12: T5 - Query Lanjutan [3]

Kemudian isi dari kolom nama departemen yang didapatkan dari tabel DEPARTMENTS dengan menggunakan Korelasi Update :

CONTOH PENGGUNAAN KORELASI SUBWUERY

Page 13: T5 - Query Lanjutan [3]

4. Korelasi SubQuery juga dapat digunakan untuk menghapus baris pada satu table berdasarkan pada baris dan table yang lain, korelasi seperti itu dinamakan dengan Korelasi Delete

Berikut contoh penggunaan Korelasi DELETE untuk menghapus baris-baris dari tabel EMPLOYEES yang juga terdapat pada tabel EMP_HISTORY

CONTOH PENGGUNAAN KORELASI SUBWUERY

Page 14: T5 - Query Lanjutan [3]

Operator EXIST dan NOT EXIST digunakan untuk menguji keberadaan (ada/tidak ada) dari baris dalam himpunan hasil dari subquery

Jika ditemukan, maka :Pencarian tidak dilanjutkan dalam inner query dan kondisi tidak true

Jika tidak ditemukan, maka :Kondisi ditandai FALSE dan kondisi pencarian dilanjutkan dalam inner query

OPERATOR EXIST DAN NOT EXIST

Page 15: T5 - Query Lanjutan [3]

Berikut contoh penggunaan operator EXIST untuk mencari pegawai yang memiliki sedikitnya satu orang bawahan

OPERATOR EXIST DAN NOT EXIST

Page 16: T5 - Query Lanjutan [3]

Dengan menggunakan kalusa WITH, kita dapat menggunakan blok query yang smaa dalam statement SELECT pada saat terjadi lebih dari sekali complex query

Kalusa WITH mendapatkan hasil dari blok query dan menyimpannya dalam tablespace temporer kepunyaan user

Kalusa WITH dapat meningkatkan performasi

PENGGUNAAN KLAUSA WITH

Page 17: T5 - Query Lanjutan [3]

PENGGUNAAN KLAUSA WITH

Contoh penggunaan klausa with yang digunakan untuk menampilkan nama departement dan total gaji untuk tiap departement yang memiliki total gaji lebih besar dari gaji rata-rata pada sembarang departement.

Page 18: T5 - Query Lanjutan [3]

THANK YOU