Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

SQL (Structure Query Language) Materi 6 – Displaying Data from Multiple Tables sy urf gm ail. co m.

Presentasi serupa


Presentasi berjudul: "SQL (Structure Query Language) Materi 6 – Displaying Data from Multiple Tables sy urf gm ail. co m."— Transcript presentasi:

1 SQL (Structure Query Language) Materi 6 – Displaying Data from Multiple Tables sy urf gm ail. co m

2 Tujuan Pembelajaran a) Menulis pernyataan- pernyataan SELECT untuk mengakses data dari beberapa tabel menggunakan equijoin dan nonequijoin b) Menggabungkan suatu tabel itu sendiri dengan menggunakan self-join c) Menampilkan data yang secara umum tidak sesuai kondisi penggabungannya dengan menggunakan outer joins d) Menghasilkan suatu Cartesian product dari seluruh baris dari dua tabel atau lebih  Today! :  Multiple Tables Multiple Tables  Jenis JOIN Jenis JOIN  CROSS JOIN CROSS JOIN

3 Mendapatkan Data dari beberapa tabel Menggabungkan tabel dengan query – query yang mendapatkan

4 MENGGABUNGKAN TABEL-TABEL MENGGUNAKAN SINTAK SQL:1999 BAC K

5 JENIS JOIN EQUI join Inner NATURAL USING ON Outer Left – O Right – O Full – O NON EQUI join Selain tanda =

6 EQUI JOIN

7 INNER – JOIN

8 Natural JOIN  Klausa NATURAL JOIN adalah didasarkan pada semua kolom pada dua tabel yang memiliki nama yang sama.  Menampilkan data dimana data tersebut memiliki nilai yang sama antara nama kolom yang sama pada tabel

9 Penggunaan NATURAL JOIN

10  tabel LOCATIONS digabungkan ke tabel DEPARTMENT oleh kolom LOCATION_ID, satu-satunya kolom dengan nama yang sama pada kedua tabel. Jika terdapat kolom lain yang sama, join akan menggunakan semua kolom-kolom tersebut. BAC K

11 KLAUSA USING  Jika beberapa kolom memiliki nama-nama yang sama tapi tipe datanya tidak sesuai, klausa NATURAL JOIN dapat dimodifikasi dengan klausa USING untuk menentukan kolomkolom yang akan digunakan sebagai suatu equijoin.  Gunakan klausa USING untuk penyesuaian hanya satu kolom saat beberapa kolom sama.  Jangan gunakan nama tabel atau alias pada kolom-kolom referensi.  Klausa-klausa NATURAL JOIN dan USING adalah mutually exclusive.

12 Menggabungkan nama-nama Kolom

13 Mendapatkan Record dengan USING

14 Merubah Nama-Nama Kolom Ambigu  Gunakan awalan-awalan tabel untuk merubah nama-nama kolom yang ada pada beberapa tabel  Gunakan kolom-kolom alias untuk membedakan kolom-kolom yang memiliki nama-nama sama tapi berada dalam tabel-tabel berbeda.  Jangan gunakan alias-alias pada kolom-kolom yang disebutkan pada klausa USING.

15 Menggunakan Tabel-Tabel Alias BAC K 1.Tabel-tabel alias dapat mencapai 30 karakter panjangnya, tapi alias-alias pendek lebih baik daripada alias-alias panjang. 2.Jika suatu tabel alias digunakan untuk nama tabel khusus pada suatu klausa FROM, maka tabel alias itu harus diganti dengan nama tabel sepanjang pernyataan SELECT. 3.Tabel-tabel alias sebaiknya mempunyai arti. 4.Tabel alias berlaku hanya pada pernyataan SELECT saat ini. 1.Tabel-tabel alias dapat mencapai 30 karakter panjangnya, tapi alias-alias pendek lebih baik daripada alias-alias panjang. 2.Jika suatu tabel alias digunakan untuk nama tabel khusus pada suatu klausa FROM, maka tabel alias itu harus diganti dengan nama tabel sepanjang pernyataan SELECT. 3.Tabel-tabel alias sebaiknya mempunyai arti. 4.Tabel alias berlaku hanya pada pernyataan SELECT saat ini.

16 Klausa ON  Kondisi join untuk natural join pada dasarnya adalah suatu equijoin pada seluruh kolom-kolom dengan nama yang sama.  Gunakan klausa ON untuk menentukan kondisi- kondisi perubahan atau menentukan kolom-kolom untuk digabungkan.  Kondisi penggabungan adalah dipisahkan dari kondisi pencarian lain.  Klausa ON membuat kode mudah untuk dipahami.

17 Mengambil Record-Record dengan Klausa ON

18 Self-Joins Menggunakan Klausa ON

19

20 Menerapkan Kondisi-Kondisi Tambahan untuk Suatu Join

21 Membuat Three-Way Joins dengan Klausa ON BAC K

22 OUTER – JOIN

23 OUTER JOIN

24  Penggabungan dua tabel mengembalikan hanya baris-baris yang sesuai disebut inner join.  Suatu penggabungan antara dua tabel yang mengembalikan hasil-hasil dari inner join seperti baris-baris yang tidak sesuai dari tabel-tabel sebelah kiri (atau kanan) disebut left (atau right) outer join.  Suatu penggabungan dua tabel yang mengembalikan hasil-hasil dari suatu inner join seperti hasil-hasil dari sebelah kiri dan sebelah kanan adalah full outer join. BAC K

25 LEFT OUTER BAC K

26 RIGTH OUTER BAC K

27 FULL OUTER BAC K

28 NON EQUI JOIN

29 Penghasilan dalam tabel EMPLOYEES harus ada diantara penghasilan terendah dan penghasilan tertinggi dalam tabel JOB_GRADES

30 Mendapatkan Record-Record dengan Non- Equijoins BAC K

31 CROSS JOIN

32 CARTESIAN PRODUK  Sebuah produk Cartesia terbentuk ketika :  Suatu kondisi join dihilangkan  Suatu kondisi join tidak tepat  Seluruh baris dalam tabel pertama digabungkan ke seluruh baris dalam tabel kedua  Untuk menghindari suatu Cartesian product, selalu sertakan sebuah kondisi join yang tepat.

33 CARTESIAN PRODUK

34 CROSS JOIN  Klausa CROSS JOIN menghasilkan cross-product dari dua tabel.  CROSS JOIN disebut juga Cartesian product antara dua tabel. BAC K

35 Exercise! 1. Tampilkan nama belakang pegawai, kode dan nama departemen dimana pegawai tersebut bekerja. 2. Tampilkan pegawai dengan nama belakang Tucker, kode dan nama departemen tempat ia bekerja. 3. Tampilkan last_name peg dan prosentase komisi masing2 pegawai, serta nama daerah tempat pegawai tersebut bekerja, khusus untuk pegawai yang mendapatkan komisi. 4. Tampilkan no & last_name pegawai, nama manajer & nomer pegawai dari manager. 5. Modifikasi query no. 4, gunakan outer join untuk menampilkan pula data pegawai yang TIDAK mempunyai manajer

36 Exercise! 5. Tampilkan last_name,salary ditambah 2000 dengan kolom alias ‘Bonus’ dari tabel employees dan department name dari tabel departments khusus untuk karyawan yang department id nya sama dengan department id yang ada di tabel departments 6. Tampilkan last name,salary dari tabel employees dan cross join dengan department name dari tabel departments 7. Tampilkan employee id,last name dari table employees, city dari table location dan department name dari tabel departments

37 Next :  Pengumpulan Tugas  Using Sub Query


Download ppt "SQL (Structure Query Language) Materi 6 – Displaying Data from Multiple Tables sy urf gm ail. co m."

Presentasi serupa


Iklan oleh Google