MENAMPILKAN DATA DARI BEBERAPA TABEL Slamet SN Utk FKM-D3
SYNTAX SELECT Tabel1.Kolom1, Tabel1.Kolom2, …, Tabel1.Kolomn, Tabeln.Kolom1, Tabeln.Kolom2, …, Tabeln.Kolomn FROM Tabel1, Tabel2,…, Tabeln [WHERE kondisi];
Relasi Antar Tabel
CARTESIAN PRODUCT Menampilkan kombinasi data dari tabel-tabel Contoh: SELECT Mahasiswa.NIM, Mahasiswa.nama, KRS.IdKelas, KRS.Nilai FROM Mahasiswa, KRS
PENGGUNAAN ALIAS SELECT alias1.kolom, alias2.kolom FROM tabel1 alias1, tabel2 alias2 WHERE kondisi Contoh: SELECT M.NIM, M.nama, K.IdKelas, K.Nilai FROM Mahasiswa M, KRS K
EQUIJOIN Penggabungan antartabel yang menggunakan operator sama dengan (=) pada kondisi dalam klausa WHERE untuk membandingkan satu kolom dengan kolom lainnya Contoh: SELECT M.NIM, M.nama, K.IdKelas, K.Nilai FROM Mahasiswa M, KRS K WHERE M.NIM = K.NIM
LEFT JOIN informasi yang ditampilkan adalah semua data dari tabel sebelah kiri statement left join beserta pasangannya dari tabel sebelah kanan. Meskipun ada data dari sebelah kiri tidak mimiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa NULL Contoh SELECT M.NIM, M.nama, K.IdKelas, K.Nilai FROM Mahasiswa M left join KRS K On M.NIM = K.NIM WHERE Nama like ‘%a%’
RIGHT JOIN informasi yang ditampilkan adalah semua data dari tabel sebelah kanan statement right join beserta pasangannya dari tabel sebelah kiri. Meskipun ada data dari sebelah kanan statement right join tidak memiliki pasangan, data tersebut tetap ditampilkan dengan diberi pasangan NULL Contoh SELECT M.NIM, M.nama, K.IdKelas, K.Nilai FROM Mahasiswa M Right join KRS K On M.NIM = K.NIM WHERE Nama like ‘%a%’
FULL JOIN informasi yang ditampilkan adalah dari kedua tabel baik kiri maupun kanan statement full join dengan pasangannya. Bagi data yang tidak memiliki pasangan akan diberi pasangan dengan NULL Contoh SELECT M.NIM, M.nama, K.IdKelas, K.Nilai FROM Mahasiswa M Full join KRS K On M.NIM = K.NIM WHERE Nama like ‘%a%’
CONTOH QUERY BEBERAPA TABEL DENGAN AGREGASI Menampilkan Jumlah Kelas yang diajar oleh Dosen Mr.X SELECT COUNT (K.IdKelas) FROM DOSEN D, KELAS K WHERE D.NIP = K.NIP AND D.NAMA = ‘Mr.X’
Menampilkan Inf dr bbrp Tabel Menampilkan Nama dan IPK Semua Mahasiswa urut nama descending SELECT M.NAMA, SUM(T.SKS * K.NILAI)/SUM(T.SKS) AS IPK FROM MAHASISWA M, MATAKULIAH T, KRS K, KELAS L WHERE M.NIM = K.NIM AND K.IDKELAS = L.IDKELAS AND L.KODE = T.KODE GROUP BY M.NAMA ORDER BY M.NAMA DESC
TULIS QUERY UNTUK: Tampilkan data NIM, Nama dan Nilai Mahasiswa yang idkelasnya > 1 Tampilkan data mahasiswa yang diajarkan oleh Mr.X Tampilkan data dosen yang tidak mengajar Tampilkan data matakuliah yang tidak diselenggarakan Tampilkan data Nama mahasiswa, nama matakuliah yang diambil, sks matakuliah, nama dosen yang mengajar dan nilainya
Lanjutan Menampilkan matakuliah dan rata-rata nilai berdasarkan matakuliahnya Menampilkan nama mahasiswa dan nilai tertinggi tiap-tiap mahasiswa Menampilkan kelas dan nilai tertinggi tiap-tiap kelas yang nilai tertingginya > 2 Menampilkan idkelas, namamatakuliah, nama dosen dan jumlah peserta dalam tiap-tiap kelas Menampilkan nama dosen dan jumlah mahasiswa yang ikut dikelas dosen tersebut