T4 - Query Lanjutan [2]

14
T4 – QUERY LANJUTAN (2) 1. SISKA AMELIA (2103131034) 2. MUHAMMAD SULISTIYO (21031310346) DOSEN : Rengga Asmara, S.Kom. OC

Transcript of T4 - Query Lanjutan [2]

Page 1: T4 - Query Lanjutan [2]

T4 – QUERY LANJUTAN (2) 1. SISKA AMELIA (2103131034)

2. MUHAMMAD SULISTIYO (21031310346)

DOSEN : Rengga Asmara, S.Kom. OCA

Page 2: T4 - Query Lanjutan [2]

TUJUAN1. Mengenal bentuk-bentuk pengembangan query SQL2. Mengenal Subquery pada banyak kolom3. Mengenal Subquery pada From

Page 3: T4 - Query Lanjutan [2]

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)

Page 4: T4 - Query Lanjutan [2]

APA ITU SUBQUERY??

Page 5: T4 - Query Lanjutan [2]

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

Page 6: T4 - Query Lanjutan [2]

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

Page 7: T4 - Query Lanjutan [2]

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.

Page 8: T4 - Query Lanjutan [2]

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

Page 9: T4 - Query Lanjutan [2]

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.

Page 10: T4 - Query Lanjutan [2]

LATIHAN

Tabel yang digunakan

Page 11: T4 - Query Lanjutan [2]

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);

Page 12: T4 - Query Lanjutan [2]

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

Page 13: T4 - Query Lanjutan [2]

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

Page 14: T4 - Query Lanjutan [2]

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