Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.