SQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih guna
membentuk sebuah informasi. Prosesnya disebut dengan join. Begitu juga tabel hasilnya.
Beberapa hal yang perlu diperhatikan dalam query multi tabel :
Setiap kolom disebutkan dengan bentuk :
nama_tabel.nama_kolom
Tabel-tabel yang dilibatkan dalam query perlu disebutkan dalam klausa
from dengan antartabel dipisah oleh tanda koma.
from nama_tabel1, nama_tabel2,.. , nama_tabelN
Kondisi dalam klausa WHERE menentukan macam join yang terbentuk
Perintah Dasar :
select nama_tabel1.nama_kolom1, nama_tabel2.nama_kolom2,nama_tabel2.kolom1
from nama_tabel1, nama_tabel2
where nama_tabel1.kolomrelasi = nama_tabel2.kolomrelasi;
contoh 1:
Analisa:
Kode dan nip dari table ajar perlu direlasikan dengan table kuliah dan dosen, supaya informasi
jadwal kuliah lebih jelas
Kolom kode pada table ajar berelasi dengan kode pada table kuliah
Kolom nip pada table ajar berelasi dengan nip pada table dosen
Jawab:
Contoh 2:
Analisa:
NIlai didapatkan dari table ambil. Pada table tersebut hanya ada informasi no_bp dan kode mata
kuliah
Untuk mendapatkan nama mahasiswa perlu dilakukan join antara table ambil dan mahasiswa
dengan no_bp sebagai kolom relasi
Untuk mendapatkan nama mata kuliah perlu direlasikan dengan table ambil dan kode sebagai
kolom relasinya.
Jawab:
MENGGUNAKAN ALIAS
Nama tabel yang digunakan dalam query antartabel bisa diberi nama alias. Bentuk
pemberian nama alias :
select alias1.kolom, alias2.kolom
from tabel1 alias1, tabel2 alias2
where kondisi;
Contoh 1 :
Tampilkan nama mahasiswa, mata kuliah yang diambil dan nilai, untuk
mahasiswa yang mendapat nilai D atau E
Catatan :
Disini menggunakan alias M untuk tabel mahasiswa, K untuk tabel kuliah dan A
untuk tabel ambil
Perintahnya menggunakan alias :
Contoh 2 :
Tampilkan jadwal kuliah yang terdiri dari hari, nama mata kuliah yang diajar,
dosennya siapa dan lokalnya dimana.
Catatan :
Disini menggunakan J sebagai alias tabel ajar, K sebagai alias tabel kuliah dan D
sebagai alias untuk tabel dosen
Latihan :
1. Cari data mahasiswa, siapa saja yang mengambil mata kuliah Struktur Data
Select kuliah.mata_kuliah,mahasiswa.*
From ambil,kuliah,mahasiswa
Mahasiswa.no_bp=ambil=no_bp and
2. Tampilkan data mata kuliah dan total mahasiswa yang mengambil mata kuliah tersebut
Group by kode;
Group by nama;
4. Buatkan query untuk mendapatkan data mata kuliah apa saja yang diambil oleh Albinanto
Where nama=”albinanto”;
5. Cari dosen yang tidak mendapatkan mata kuliah yang akan diajarkan.
Select nama