A. TUJUAN
Mahasiswa menguasai konsep-konsep utama proses query banyak tabel.
B. DASAR TEORI
SELECT nama_kolom
FROM nama_tabel1, nama_tabel2, ...
WHERE PK_tabel1=FK_tabel2_dr_tabel1 AND, ...
Apabila kondisi JOIN tersebut tidak disebutkan, akan terjadi sebuah JOIN
yang dinamakan dengan CROSS JOIN, dimana setiap item data yang ada
pada tabel 1 akan dipasangkan dengan setiap data yang ada di tabel 2.
Selain kondisi JOIN, klausa WHERE dapat menampung juga kondisi lain
untuk membatasi hasil query.
C. PRAKTIK
Kerjakan praktik berikut ini.
Buatlah sebuah skema dengan nama ”dbkuliah” dengan struktur dan data
sebagai berikut.:
Tabel MHS
Field Tipe Data
NPM CHAR(8), PRIMARY KEY
Nama VARCHAR(15)
Alamat VARCHAR(15)
Tabel MKUL
Field Tipe Data
KDMK CHAR(5), PRIMARY KEY
MTKULIAH VARCHAR(15)
SKS INT(1)
Tabel NILAI
Field Tipe Data
NPM CHAR(8)
KDMK CHAR(5)
MID INT(3)
FINAL INT(3)
Dengan data-data sebagai berikut:
SELECT *
FROM MKUL
WHERE sks = 2;
SELECT *
FROM MHS
WHERE nama LIKE ’P%’;
SELECT nama
FROM mhs, nilai
WHERE mhs.npm=nilai.npm AND mid > 70 AND final > 70
SELECT nama
FROM mhs, nilai, mkul
WHERE mhs.npm=nilai.npm AND mkul.kdmk=nilai.kdmk AND
mtkuliah = ’Pancasila’;
5. Buatlah query untuk menampilkan mata kuliah apa saja yang diambil
oleh Budi.
SELECT mtkuliah
FROM mhs, nilai, mkul
WHERE mhs.npm=nilai.npm AND mkul.kdmk=nilai.kdmk AND nama =
’Budi’;
6. Tampilkan nama, nama mata kuliah, dan semua nilai mahasiswa yang
berasal dari Jakarta.
D. LATIHAN
Diberikan pada saat praktikum.
E. TUGAS
Pada skema basis data pada praktik pertemuan 6, buatlah query yang
menampilkan:
1. Data semua karyawan yang tidak mendapat bonus.
2. Data semua karyawan yang tidak mendapat potongan.
3. Semua karyawan yang masuk selama 20 jam.
4. Karyawan yang berada pada periode 200807 yang mendapatkan
potongan dan mendapatkan bonus.
5. Data semua karyawan yang gajinya 1200000, lengkap dengan bonus
dan potongannya.
6. Data semua karyawan yang namanya dimulai huruf T, tampilkan juga
periode dan bonus yang didapatkannya.