Contoh Relasi SQL antar tabel

aku ingin nambahin sedikit cara untuk melakukan relasi antar tabel, kita ambil contoh seperti dibawah
buat biar ngak ribet – ribet  silahkan copikan script dibawah ke sql editor

Membuat table ambilmk
CREATE TABLE `ambilmk` (
`nim` VARCHAR(5),
`kodemk` VARCHAR(4),
`nilai` FLOAT,
`smt` VARCHAR(10),
`thajar` VARCHAR(10),
PRIMARY KEY (`nim`,`kodemk`)
);
Membuat table mhs 
CREATE TABLE `mhs` (
`nim` VARCHAR(5),
`namamhs` VARCHAR(20),
`alamat` text,
`tgllhr` DATE,
PRIMARY KEY (`nim`)
);
 
Membuat table mk
CREATE TABLE `mk` (
`kodemk` VARCHAR(4),
`namamk` VARCHAR(20),
`sks` INT(11),
`smt` VARCHAR(10),
PRIMARY KEY (`kodemk`)
);
Mengisi table 
 
INSERT INTO `ambilmk` VALUES ('M001', 'MK01', '3', 'GANJIL', '2001-2002');
INSERT INTO `ambilmk` VALUES ('M001', 'MK02', '2', 'GANJIL', '2001-2002');
INSERT INTO `ambilmk` VALUES ('M002', 'MK01', '4', 'GANJIL', '2001-2002');
INSERT INTO `ambilmk` VALUES ('M003', 'MK03', '4', 'GENAP', '2001-2002');
 
INSERT INTO `mhs` VALUES ('M001', 'XXX', 'SOLO', '1990-10-01');
INSERT INTO `mhs` VALUES ('M002', 'YYY', 'SEMARANG', '1992-08-11');
INSERT INTO `mhs` VALUES ('M003', 'ZZZ', 'SOLO', '1991-04-15');
 
INSERT INTO `mk` VALUES ('MK01', 'KALKULUS I', '3', 'GANJIL');
INSERT INTO `mk` VALUES ('MK02', 'GEOMETRI', '2', 'GANJIL');
INSERT INTO `mk` VALUES ('MK03', 'KALKULUS II', '3', 'GENAP');
 
Menapilkan data  dengan nama mk kalkulus 1
SELECT mhs.nim, mhs.namamhs, ambilmk.nilai
FROM mhs, ambilmk, mk
WHERE mhs.nim = ambilmk.nim AND mk.kodemk = ambilmk.kodemk AND mk.namamk = 'KALKULUS I';
 
Menapilkan data dengan relasi
 
SELECT a.nim,a.namamhs,b.nilai
FROM mhs a
LEFT JOIN ambilmk b ON a.nim = b.nim
LEFT JOIN mk c ON c.kodemk = b.kodemk
WHERE c.namamk = 'KALKULUS I';
Dalam struktur aku lebih suka gunain JOIN mau itu left, right, inner, outer dsb
banyak jalan untuk menuju keroma, apapun makanannya minumnya tetep tehbotol sosro :D, apa hubunganya ya...


sekian contoh simple relasi pada SQL semoga dapat sebagai dasar relasi  SQL lanjutnya....