Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Using Subqueries to Solve Queries

Presentasi serupa


Presentasi berjudul: "Using Subqueries to Solve Queries"— Transcript presentasi:

1 Using Subqueries to Solve Queries

2 Tujuan Pembelajaran: Mendefinisikan subquery
Menggambarkan tipe masalah yang dapat diselesaikan dengan subquery Menggambarkan berbagai tipe subquery Menuliskan subquery dengan tipe single-row dan multiple-row

3 Menggunakan subquery untuk memecahkan masalah
Siapa yang memiliki gaji melebihi Abel?

4 Sintaks Subquery Subquery (inner query) dieksekusi sebelum Main Query (outer query) Hasil Subquery digunakan oleh Main Query

5 Menggunakan Subquery

6 Pedoman Menggunakan Subquery
Subquery dibatasi oleh tanda kurung Tempatkan Subquery pada sisi kanan dari perbandingan kondisi Klausa ORDER BY dalam Subquery tidak dibutuhkan Gunakan operator single-row untuk Subquery single-row, gunakan operator multiple-row untuk Subquery multiple-row

7 Tipe Subquery

8 Subquery Single-row Menghasilkan hanya satu baris
Menggunakan operator perbandingan single-row

9 Eksekusi Subquery Single-row

10 Menggunakan Group Functions dalam Subquery

11 Klausa Having dengan Subquery
Oracle akan mengeksekusi Subquery lebih dahulu Oracle akan mengembalikan hasil Subquery ke dalam klausa Having dari main query

12 Apa yang salah dengan statement ini?

13 Apakah statement ini menghasilkan baris?

14 Subquery Multiple-row
Menghasilkan lebih dari satu baris Menggunakan operator perbandingan Multiple-row

15 Menggunakan operator ANY dalam Subquery Multiple-row

16 Menggunakan operator ALL dalam Subquery Multiple-row

17 Nilai NULL dalam Subquery

18 Using the Set Operators

19 Tujuan Pembelajaran: Menggambarkan operator himpunan
Menggunakan operator himpunan untuk mengkombinasikan query multiple ke dalam query single Kontrol terhadap urutan baris

20 Operator Himpunan

21 Tabel yang digunakan dalam bab ini
Employees: berisikan data keseluruhan pegawai Job_History: berisikan data tentang riwayat kerja pegawai

22 Operator Union Operator Union mengembalikan hasil dari kedua query setelah mengeliminasi data yang sama (duplikat data)

23 Contoh tabel_A = {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’}
tabel_B = {‘1002’,’1005’,’1006’,’1007’} Jika ingin menggabungkan dua tabel tersebut dengan menggunakan UNION maka akan menghasilkan himpunan data berikut: {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’, ’1006’,’1007’}

24 Contoh tabel_A tabel_B tabel Hasil Kode 1001 1002 1005 1003 1006 UNION
tabel Hasil Kode 1001 1002 1005 1003 1006 UNION 1004 1007

25 Menggunakan operator Union
Menampilkan detil pekerjaan sekarang dan sebelumnya dari seluruh pegawai. Tampilan tiap pegawai hanya sekali

26 Operator Union All Operator Union mengembalikan hasil dari kedua query, termasuk semua data yang sama

27 Contoh tabel_A = {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’}
tabel_B = {‘1002’,’1005’,’1006’,’1007’} Jika memakai perintah UNION ALL, data yang dihasilkan {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’, ‘1002’, ’1005’, ’1006’, ’1007’}.

28 Contoh tabel_A tabel_B tabel Hasil Kode 1001 1002 1005 1003 1006
tabel Hasil Kode 1001 1002 1005 1003 1006 UNION ALL 1004 1007

29 Menggunakan operator Union All
Menampilkan departemen sekarang dan sebelumnya dari seluruh pegawai.

30 Operator Intersect Intersect operator akan menggabungkan 2 query dan menghasilkan data yang sama antara hasil dari query pertama dan hasil dari query kedua

31 Contoh tabel C = {a,b,c,d} INTERSECT tabel D = {c,d,e}
Jika memakai perintah INTERSECT hasilnya adalah {c,d}

32 Menggunakan operator Intersect
Menampilkan employee id dan job id dari pegawai yang berada di tabel employees dan sama berada di tabel job_history

33 Operator Minus Minus Operator akan menggabungkan 2 query dan menghasilkan data yang ada pada TABEL A tetapi tidak ada pada  tabel B

34 Contoh Tabel A Tabel B

35 Menggunakan operator Minus
Menampilkan employee id dan job id dari pegawai yang berada di tabel employees dan tidak berada di tabel job_history

36 Petunjuk Operator Himpunan
Ekspresi dalam daftar SELECT harus cocok dalam jumlah dan tipe data Tanda kurung digunakan untuk menyatakan urutan eksekusi Klausa ORDER BY dapat digunakan di akhir statement dengan menggunakan nama kolom atau alias dari query pertama Duplikat baris otomatis akan dieliminasi kecuali dengan Operator UNION ALL. Nama kolom dalam query pertama akan muncul dalam hasil

37 Mencocokkan statement Select
Menggunakan operator Union untuk menampilkan department ID, location, dan hire date dari semua pegawai

38 Mencocokkan statement Select : contoh
Menggunakan operator Union untuk menampilkan employee ID, Job Id, dan salary dari semua pegawai

39 Kontrol urutan baris

40 Latihan 1 Dengan menggunakan set operator, tampilkan department_id dan job_id selain pegawai dengan job_id ‘ST_CLERK’ Hasil: EMPLOYEES JOBS Employee_id First_name Last_name Phone_number Hire_date Job_id Salary Commission_pct Manager_id Department_id Job_title Min_salary Max_salary select department_id, job_id from employees where job_id <> 'ST_CLERK' minus select to_number(null), job_id from jobs

41 Latihan 2 Dengan menggunakan set operator , tampilkan country_id dan country_name untuk negara yang tidak memiliki departemen DEPARTMENTS LOCATIONS COUNTRIES Department_id Department_name Manager_id Location_id Street_address Postal_code City State_province Country_id Country_name Region_id select d.department_id,l.location_id,c.country_id,c.country_name from departments d RIGHT OUTER JOIN locations l ON (d.location_id=l.location_id) RIGHT OUTER JOIN countries c ON (l.country_id=c.country_id) intersect select to_number(null),to_number(null),country_id, country_name from countries order by country_name


Download ppt "Using Subqueries to Solve Queries"

Presentasi serupa


Iklan oleh Google