Cara MySQL join

Cara join 3 table di mysql
pertama kita membuat 3 table terlebih dahulu seperti contoh dibawah ini;

1. Create table siswa (nis int not null, nama varchar(20), jk char(2), email varchar(25), kelas char(2), hp int(10), constraint ari_siswa primary key (nis));

2. Create table nilai (nis int not null, kdmp char(25), nilai_normatif int(3), nilai_produktif int(3), nilai_mulok int(3), grade char(1), constraint ari_nilai primary key (nis));

3. Create table mp (nis int not null, kdmp char(25), nama_mp varchar(50), jumlah_sks char(5), constraint ari_mp primary key (nis) );

lalu kita insert data kedalam table seperti contoh dibawah ini;

- Insert into siswa values (11111, 'puspo', 'L', 'puspo@gmail.com', 'IZ', '8221741'),(22222, 'dimas', 'L', 'dimas@gmail.com', 'IL', '8221742'),(33333, 'bogie', 'L', 'bogie@gmail.com', 'ID', '8221743'),(44444, 'ari', 'L', 'ari@gmail.com', 'IB', '8221744'), (55555, 'iman', 'L', 'iman@gmail.com', 'IX', '8221745');

- Insert into mp values (11111, 'norma,pro,mulok', 'Agama,TKJ,Sastra', '1,2,3'),(22222, 'norma,pro,mulok', 'Agama,MM,Olahraga', '1,2,3'),(33333, 'norma,pro,mulok', 'Agama,RPL,Musik', '1,2,3'),(44444, 'norma,pro,mulok', 'Agama,TKJ,Musik', '1,2,3'),(55555, 'norma,pro,mulok', 'Agama,MM,Sastra', '1,2,3'); cdd

- Insert into nilai values (11111,'90', '95', '95', 'A'),(22222,  '75', '80', '90', 'B'),(33333, '85', '90', '75', 'A'),(44444, '80', '90', '75', 'B'),(55555, '90', '85', '75', 'A') ;

4. kemudian kita join-kan 3 table tersebut seperti contoh dibawah ini;
select siswa.nama, siswa.jk, siswa.email, siswa.kelas, siswa.hp, mp.nama_mp, mp.jumlah_sks, nilai.nilai_normatif, nilai.nilai_produktif, nilai.nilai_mulok, (nilai.nilai_normatif+nilai.nilai_produktif+nilai.nilai_mulok)/3 as total,  nilai.grade from siswa,mp,nilai where siswa.nis=mp.nis and siswa.nis=nilai.nis and mp.nis=nilai.nis ;

Komentar