9,10. Fungsi Lanjutan (Query Antar Tabel) Fix
9,10. Fungsi Lanjutan (Query Antar Tabel) Fix
Capaian Pembelajaran
PENGERTIAN
Hubungan yang terjadi pada suatu table dengan table lainnya yang saling berinteraksi
dan bersinergi satu sama lainnya
Macam-macam Hubungan
- One to One
- One to Many
- Many to Many
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
RELASI TABEL
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
2. Menggabungkan Tabel
Salah satu kelebihan dari SQL adalah Kemampuan untuk menggabungkan dua table atau lebih
untuk menyediakan informasi, prosesnya disebut dengan JOIN.
Sebagai gambaran untuk menghasilkan informasi KHS (Kartu Hasil Studi) diperlukan setidaknya
table mata kuliah, mahasiswa, KRS, dan dosen.
Berdasarkan tabel2 tersebut dapat diperoleh informasi KHS melalui JOIN.
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
4. MENGUNAKAN ALIAS
Nama table yang digunakan dalam query antar table dapat diberi nama alias
Bentuk Umum
SELECT alias1.kolom, alias2.kolom FROM tabel1 alias1, tabel2 alias2 WHERE kondisi;
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
5. PERKALIAN KARTESIAN
Bentuk paling sederhana dari penggabungan dua buah table akan membentuk
perkalian kartesian (Cartesian Product) atau biasa disebut cross join atau full
join
Hal ini diperoleh kalau klausa WHERE tidak disebutkan.
Contoh :
hasilnya :
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
CONTOH :
SELECT p.nama,
f.judul,
m.peran
FROM pemeran p, film F, main m
WHERE m.kode_film=f.kode_film AND m.kode_pem=p.kode_pem;
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
Hasil query :
Jika operator yang digunakan untuk menghubungkan satu table dengan table lainnya tidak berupa sama
dengan (=), tetapi berupa operator <> atau >= maka disebut non-equijoin.
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
7. SELF-JOIN
Self-Join merupakan upaya
penggabungan dari table yang sama
CONTOH :
Untuk memperoleh pasangan bintang
film pria dan wanita yang terdapat pada
table PEMERAN
8. INNER-JOIN
Inner-Join hanya menghasilkan kombinasi semua baris yang memiliki pasangan saja. Baris yang tidak memiliki
pasangan tidak akan ditampilkan
CONTOH :
SELECT p.nama, SELECT p.nama,
m.kode_film, m.kode_film,
m.peran m.peran
FROM pemeran p, main m FROM pemeran p INNER JOIN main m
WHERE p.kode_pem=m.kode_pem WHERE p.kode_pem=m.kode_pem
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
Contoh :
SELECT p.kode_pem,
p.nama,
m.kode_pem,
m.kode_film
FROM pemeran p NATURAL JOIN main m;
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
Identik dengan :
- Baris – baris yang tidak memiliki pasangan pada tabel yang ada
isebelah kiri kata “JOIN” akan tetap ditampilkan
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
Tabel1 tabel2
- Baris – baris yang tidak memiliki pasangan pada tabel yang ada
disebelah kanan kata “JOIN” akan tetap ditampilkan.
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
Tabel1 tabel2
Tabel1 tabel2
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
SUB QUERY
PROGRAM STUDI MATA KULIAH
SISTEM INFORMASI BASIS DATA LANJUTAN
OPERATOR EXISTS
Merupakan jenis operator boolean, yang menghasilkan nilai benar (true) atau salah (false).
Operator Exists akan memberikan nilai benar (true) kalau sub query menghasilkan paling tidak
sebuah baris / record.
Contoh 1 :
Akan ditampilkan daftar nama mahasiswa yang sudah melakukan krs.
Contoh 2 :
Akan ditampilkan daftar nama mahasiswa yang tidak melakukan krs.
Contoh :
Akan menampilkan daftar nama pegawai dan gaji yang gajinya tidak
paling sedikit.
Operator All
Operator all digunakan untuk melakukan pembandingan dengan sub query. Kondisi
dengan all menghasilkan nilai benar jika pembandingan menghasilkan benar untuk
setiap nilai dalam sub query.
Contoh :
Akan menampilkan nama dan gaji pegawai yang gajinya lebih rendah
daripada semua pegawai di departemen ‘Akunting’.
SELESAI