3. APA ITU SUBQUERY??
Subquery merupakan bentuk query lanjutan untuk pencarian data yang lebih
kompleks
Subquery adalah statemen SELECT yang dilampirkan sebagai klausa dalam
statement SQL yang lain.
Subquery terdiri atas : Subquery (inner query) dan Main query (outer query)
Hasil dari Subquery digunakan oleh main query (outer query)
5. APA ITU SUBQUERY??
Query di atas akan menampilkan nama pegawai yang gajinya
lebih besar dari pegawai dengan nomer pegawai 149.
Sebelumnya, gaji pegawai dengan nomer pegawai 149, tidak
diketahui, untuk itu kita tempatkakn sebagai Subquery agar
nilai yang tidak diketahui tersebut dapat diketahui dan pada
ilustrasi gambar di atas nilai gaji dari pegawai 149 adalah
10500
6. SUBQUERY PADA BANYAK KOLOM
Pada Subquery pada banyak kolom, tiap baris dari main query dibandingkan
dengan nilai subquery multiple-row dan multiple column.
Berikut ini pembandingan dengan banyak kolom dan baris
7. SUBQUERY PADA BANYAK KOLOM
Pembandingan kolom dalam Subquery banyak kolom dapat
berupa :
- Pembandingan berpasangan (Pairwise Comparison
SubQuery)
- Pembandingan tidak berpasangan (NonPairwise
Comparison SubQuery)
Pairwise comparison Subquery
Berikut ini adalah contoh pembandingan berpasangan untuk
menampilkan detail dari data pegawai yang dimanajeri oleh
manajer dan departemen yang sama dengan yang dimiliki
oleh nomor pegawai 178 dan 174, dan bukan termasuk
pegawai dengan nomor tersebut.
8. SUBQUERY PADA BANYAK KOLOM
(NonPairwise Comparison SubQuery)
Berikut ini adalah contoh pembandingan tidak berpasangan untuk
menampilkan detail dari data pegawai yang dimanajeri oleh manajer
yang sama dengan id pegawai 178 dan 141, serta bekerja dalam
departemen yang sama dengan pegawai 174 atau 141, dan bukan
termasuk pegawai dengan id tersebut
9. SUBQUERY PADA KLAUSA FORM
- Query bisa diletakkan di dalam klausa FROM untuk membentuk tabel temporer
- Query semacam ini dikenal juga dengan istihah iniline view, karena tidak
membentuk objek database.
Berikut ini adalah contoh penggunaan klausa from
Query menampilkan nama dan gaji pegawai yang gajinya lebih besar dari rata-rata
gaji pegawai pada depertemen temat ia bekerja.
11. LATIHAN 1/4
1. Buat query untuk menampilkan nama, nomer departemen, dan gaji dari
pegawai yang memiliki nomer departemen dan gaji yang sama dengan
nomer departemen dan jaji pegawai yang memiliki komisi.
Jawab :
SELECT first_name, departement_id, salary
FROM employees
WHERE (departement_id, salary) in (select departement_id, salary
from employees
where commition_pct is not null);
12. 2. Buat Query untuk menampilkan nama pegawai nama departemen, dan gaji
pegawai yang memiliki location ID 1700
Jawab :
SELECT first_name, departemet_name, salary
FROm employees, departements
WHERE departemens.departement_id=employees.departemen_id and salary in
(select salary
from employees
where departemen_id in (select departemens_id
from departemens where location = 1700) );
LATIHAN 2/4
13. 3. . Buat Query untuk menampilkan nama pegawai, tanggal mulai masuk kerja, dan
gaji untuk semua pegawai yang memiliki gaji dan komisi seperti yang dimiliki oleh
pegawai yang bernama kochhar (data kochhar tidak ditampilkan dalam hasil query
Jawab :
SELECT first_name, hire_date, salary
FROm employees
WHERE salary in (select salary
from employees
where last_name=‘kochhar’) and last_name()’kochhar’;
LATIHAN 3/4
14. 4. Buat query untuk menampilkan detail dari nomer pegawai, nama pegawai, dan
nomer pegawai yang bertempat tinggal di kota yang nama kotanya diawali huruf T
Jawab :
SELECT e.employee_id, e.first_name, h.employee_id
FROm employees e, (select employee_id
from employee e, departemens d, location l
where e.departement_id = d.departement_id and d.location_id
=location_id and city like ‘%T’) h
WHERE e.employee_id=h.employee_id;
LATIHAN 4/4