Halo semuanya, apa kabar? Semoga sehat selalu, Amin.
Kali ini kita akan belajar tentang perbedaan perintah JOIN di SQL yaitu LEFT JOIN, RIGHT JOIN dan INNER JOIN. Fungsi JOIN digunakan untuk menampilkan data pada tabel yang saling berhubungan atau be-relasi. Artinya kita dapat menampilkan data dalam beberapa tabel hanya dengan satu kali perintah.
Secara konsep dan syntax query seperti gambar dibawah ini.
Perintah diatas adalah join yang menggunakan alias. Jika teman-teman sudah ada gambaran, sekarang saatnya kita praktek agar lebih paham implementasi real-nya.
Pertama kita akan membuat database di phpMyAdmin, dengan nama db_daerah. Kemudian kita buat 2 tabel :
tb_kota
tb_provinsi
(Nama field yang berelasi antara dua tabel diatas tidak harus sama)
Kemudian masuk ke menu SQL di phpmyadmin untuk menulis perintah SQL yang akan menampilkan data-data dalam 2 tabel tersebut.
Pertama kita akan menggunakan INNER JOIN, seperti ini query-nya (kita menggunakan tanpa alias)
Perintah ON kota.id_propinsi = propinsi.id, berarti akan menampilkan data-data yang mempunyai nilai sama antara id_provinsi pada table tb_kota dan id_provinsi pada table tb_provinsi. Yang artinya data tersebut berelasi.
Disini terlihat hanya data-data yang mempunyai nilai sama antara id_provinsi pada table tb_kota dan id_provinsi pada table tb_provinsi yang tampil.
Jika kita custom field yang akan ditampilkan hanya nama_kota dan nama_provinsi saja, maka seperti ini
Next, sekarang kita menggunakan LEFT JOIN.
Berbeda dengan INNER JOIN, LEFT JOIN akan menampilkan data-data yang tidak berelasi. Pada table tb_provinsi (kanan), data yg tidak berelasi akan bernilai NULL.
Terakhir, kita menggunakan RIGHT JOIN.
Sama dengan LEFT JOIN, RIGHT JOIN akan menampilkan data-data yang tidak berelasi. Namun kebalikan dari LEFT JOIN, pada table tb_kota (kiri), data yg tidak berelasi akan bernilai NULL.
Intinya ketiga JOIN diatas digunakan pada case yang berbeda-beda, tergantung kebutuhan. Biasanya yang lebih sering digunakan ialah INNER JOIN (menampilkan data yang hanya berelasi). Selain itu ada lagi yaitu FULL JOIN, coba temen-temen googling dan explore sendiri sesuai kebutuhan. Rangkuman script sql diatas juga ada disini.
Video Tutorial Implementasi Join SQL di Real Project :
- Menampilkan Data dari Beberapa Relasi Tabel di PHP mysqli
- Kupas Tuntas Join SQL dengan Query Builder di CodeIgniter 3
- Menampilkan Data Berelasi dengan Eloquent ORM Laravel
- Tampil Data Berelasi (Join Tabel Lain) di CodeIgniter 4
Semoga bermanfaat. Happy Studying, Happy Coding 🙂