• Topters

Cara Join Dua Tabel Di Mysql Dan Php

Cara Join Dua Tabel Di Mysql Dan Php

Join adalah hal yang paling penting dalam database relasional. Join digunakan untuk menggabungkan dua atau lebih tabel yang berbeda pada titik di mana kedua tabel tersebut cocok dengan nilai dan properti yang sama.

Ada tiga cara mudah untuk menggabungkan dua atau lebih tabel:

  1. Inner Join
  2. Left Join
  3. Right Join

Inner Join

Apa itu inner join? 
Inner join menggabungkan data pada tabel tabel yang memenuhi kondisi tertentu dan mengabaikan data lain yang tidak masuk dalam kondisi tersebut. Contoh query MySQL untuk inner join adalah :

SELECT nama_kolom

FROM table1

INNER JOIN table2

ON table1.nama_kolom=table2.nama_kolom;

Join dan Inner Join pada MySQL sebenarnya sama saja, kita bisa saja menulis ulang query tersebut menjadi :

SELECT nama_kolom

FROM table1

JOIN table2

ON table1.nama_kolom=table2.nama_kolom;

Contoh penerapan dari Inner Join adalah seperti ini :

1

2

3

4

$sql = "SELECT CONCAT(pengunjung.firstname,' ',pengunjung.lastname) AS nama, pengunjung.email, pesan.isi_pesan

From pengunjung

INNER JOIN pesan

ON pengunjung.id = pesan.id";

Fungsi CONCAT digunakan untuk menggabungkan 2 string yang didapat dari dua kolom menjadi satu. Pada contoh diatas, nama depan dan nama belakang pengunjung kita gabung menjadi satu. Dengan ASUMSI kita telah memiliki dua tabel yaitu tabel Pengunjung dan tabel Pesan. Dan tabel pengunjung memiliki kolom nama depan, nama belakang, email, alamat dsb. Sementara tabel Pesan memiliki kolom ID pengunjung dan isi_pesan. Hasil dari query tersebut adalah data nama dan email pengunjung yang mengirim pesan.

Nama Email Pesan
Abdul Kadir [email protected] Hai nama saya Abdul, salam kenal
Budi Man [email protected] Halo juga nama saya Budi

Untuk pengguna yang tidak mengirim pesan, atau memiliki pesan kosong (NULL) tidak akan ditampilkan pada Join tabel tersebut.


Right Join

RIGHT JOIN menggabungkan dua tabel sedemikian rupa sehingga mengembalikan SEMUA data dari dari tabel kanan dan juga mengembalikan null pada tabel kiri ketika tidak ditemukan kecocokan. Struktur untuk RIGHT JOIN adalah:

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name=table2.column_name;

Contoh penerapan dari Right Join adalah seperti ini :

1

2

3

4

$sql = "SELECT CONCAT(pengunjung.firstname,' ',pengunjung.lastname) AS nama, pengunjung.email, pesan.isi_pesan

From pengunjung

RIGHT JOIN pesan

ON pengunjung.id = pesan.id";

Dengan ASUMSI kita telah memiliki dua tabel yaitu tabel Pengunjung dan tabel Pesan. Dan tabel pengunjung memiliki kolom nama depan, nama belakang, email, alamat dsb. Sementara tabel Pesan memiliki kolom ID pengunjung dan isi_pesan. Hasil dari query tersebut adalah data nama dan email pengunjung yang mengirim pesan.

Nama Email Pesan
Abdul Kadir [email protected] Hai nama saya Abdul, salam kenal
Budi Man [email protected] Halo juga nama saya Budi
null null Hello World
null null Apa kabar dunia?
null null Ini contoh pesan

Bisa kita lihat, tabel Pengunjung adalah tabel Kiri dan tabel Pesan adalah tabel Kanan. Dengan fungsi RIGHT JOIN pada dasarnya kita mengambil SEMUA data pesan beserta Nama dan Email Pengunjung yang mengirim pesan tersebut, Tapi ketika kita memiliki Isi_Pesan pada tabel Pesan yang memiliki ID pengirim kosong atau tidak sama dengan yang ada pada kolom ID di tabel pengunjung, maka data yang didapat dari kolom Nama dan Email Pengunjung menjadi null.


Left Join

LEFT JOIN menggabungkan dua tabel sedemikian rupa sehingga mengembalikan SEMUA data dari dari tabel kiri dan juga mengembalikan null pada tabel kanan ketika tidak ditemukan kecocokan. Struktur untuk LEFT JOIN adalah:

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name=table2.column_name;

Contoh penerapan dari LEFT Join adalah seperti ini :

1

2

3

4

$sql = "SELECT CONCAT(pengunjung.firstname,' ',pengunjung.lastname) AS nama, pengunjung.email, pesan.isi_pesan

From pengunjung

LEFT JOIN pesan

ON pengunjung.id = pesan.id";

Dengan ASUMSI kita telah memiliki dua tabel yaitu tabel Pengunjung dan tabel Pesan. Dan tabel pengunjung memiliki kolom nama depan, nama belakang, email, alamat dsb. Sementara tabel Pesan memiliki kolom ID pengunjung dan isi_pesan. Hasil dari query tersebut adalah data nama dan email pengunjung yang mengirim pesan.

Nama Email Pesan
Abdul Kadir [email protected] Hai nama saya Abdul, salam kenal
Budi Man [email protected] Halo juga nama saya Budi
Carli Caplin [email protected] null
Dian Sastro [email protected] null
Ensten [email protected] null

Bisa kita lihat, tabel Pengunjung adalah tabel Kiri dan tabel Pesan adalah tabel Kanan. Dengan fungsi LEFT JOIN pada dasarnya kita mengambil SEMUA data NAMA dan EMAIL dari tabel pengunjung beserta pesan yang dikirim oleh pengunjung tersebut, Tapi ketika kita memiliki pengunjung yang tidak mengirim pesan, maka data pesan yang diambil dari tabel menjadi null.


Selain tiga metode join diatas, masih banyak lagi fungsi join yang lain seperti UNION, CROSS JOIN, SELF JOIN, dan FULL OUTER JOIN, yang tidak akan cukup untuk dibahas dalam satu artikel.

Comments (0)


Add Comment