Minggu, 11 Februari 2018

SQL : Inner Join, Left Join dan Right Join



1.      Pengertian
INNER JOIN adalah perintah untuk menampilkan record atau menggabungkan 2 table atau lebih.
2.      Latar belakang
memahami perintah INNER JOIN,LEFT JOIN dan RIGHT JOIN dalam SQL.
3.      Maksud dan Tujuan
memahami perintah INNER JOIN,LEFT JOIN dan RIGHT JOIN dalam SQL.
4.      Alat dan bahan
Laptop
LAMP
5.      Uraian
Pertama saya akan membuat database di phpMyAdmin, dengan nama contoh. Kemudian saya membuat 2 table:

kota
CREATE TABLE kota(
id int (3) NULL AUTO_INCREMENT,
nama varchar (40) NOT NULL,
id_provinsi int (3) NOT NULL,
PRIMARY KEY (id)
);

Buat data dalam tabel tersebut
INSERT INTO `provinsi`(id,nama,id_provinsi) VALUES (‘1’,’Jakarta’,’2’),(‘2’,’Bandung’,’2’),(‘3’,’Sumedang’,’3’),(‘4’,’Makasar’,’4’),(‘5’,’Surabaya’,’5’),(‘6’,’Medan’,’6’),


Provinsi
CREATE TABLE provinsi(
id int (1) NULL AUTO_INCREMENT,
nama varchar (50) NOT NULL,
PRIMARY KEY (id)
);

Buat data dalam tabel provinsi
INSERT INTO `provinsi`(id,nama) VALUES ('1','DKI Jakarta'),('2','Jawa Barat'),('3','Papua Barat'),('4','Sulawesi Selatan'),('5','Jawa Barat')

Kemuadian saya menggunakan fasilitas SQL untuk menulis perintah SQL yang akan menampilkan data-data dalam 2 table tersebut.

              INNER JOIN 
INNER JOIN adalah erintah untuk menampilkan record atau menggabungkan 2 table atau lebih. Pada perintah inner join, hanya data yang punya pasangan saja yang akan ditampilkan. Jika kedua table tidak ada kesamaan maka data tidak akan ditampilkan.

Ini adalah contoh dari INNER JOIN :
SELECT*FROM kota INNER JOIN provinsi ON kota.id_provinsi=provinsi.id;

Perintah ON kota.id_propinsi = propinsi.id, berarti akan menampilkan data-data yang mempunyai nilai sama antara id_propinsi pada table kota dan id pada table propinsi. Yang artinya data tersebut berelasi.

Hasil :

pada tampilan di atas, hanya data-data yang mempunyai nilai sama antara id_propinsi pada table kota dan id pada table propinsi yang tampil.

LEFT JOIN 
LEFT JOIN adalah hampir sama dengan Inner Join, hanya saja perintah Left Join membuat parameter dari table yang ada disebelah kiri, jika ada table yang kosong disebelah kanan, maka akan berisi NULL.
Contoh menggunakan LEFT JOIN
SELECT*FROM kota LEFT JOIN provinsi ON kota.id_provinsi=provinsi.id

Berbeda dengan INNER JOIN, LEFT JOIN akan menampilkan data-data yang tidak berelasi. Namun pada table propinsi (table kiri), data yg tidak berelasi akan bernilai NULL.
Hasil:

RIGHT JOIN 
RIGHT JOIN adalah perintah Right Join membuat parameter dari table yang ada disebelah Kanan, jika ada table yang kosong disebelah kiri, maka akan berisi NUL.

Contoh RIGHT JOIN
SELECT * FROM kota RIGHT JOIN provinsi ON kota.id_provinsi=provinsi.id

Sama dengan LEFT JOIN, RIGHT JOIN akan menampilkan data-data yang tidak berelasi. Namun kebalikan dari LEFT JOIN, pada table kota (table kanan), data yg tidak berelasi akan bernilai NULL.
 Hasil : 
6.      Referensi


Tidak ada komentar:

Posting Komentar