Setelah kalian mempelajari tentang membuat tabel dan memasukkan data kedalam table, selanjutnya saya akan menjelaskan tentang menampilkan data dalam table dengan metode JOIN. Sebelum kalian membaca lebih lanjut, silahkan download file sql berikut agar kalian tidak kebingungan, link : Data SQL
Pengertian JOIN di SQL
Di dalam SQL, JOIN digunakan untuk menggabungkan 2 tabel atau lebih berdasarkan column dari tabel tersebut. Ada 4 tipe dalam penggunaan JOIN, yaitu INNER JOIN, LEFT JOIN, RIGHT JOIN, dan FULL JOIN.INNER JOIN
INNER JOIN mengambil semua baris dari kedua tabel sebanyak banyaknya sampai tidak ada kecocokan lagi dari kedua table tersebut. Berikut ini adalah syntax untuk INNER JOIN di MySQL.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT nama_kolom,... | |
FROM tabel1 | |
INNER JON tabel2 | |
ON tabel1.nama_kolom = tabel2.nama_kolom; |
Contoh script penggunaan INNER JOIN :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT borrow.code AS BorrowCode, member.name AS Name | |
FROM borrow INNER JOIN member | |
ON borrow.member_id = member.id; |
Berdasarkan script dan screenshot di atas, saya mencoba menampilkan Borrow Code dan Nama yang berasal dari tabel berbeda, yaitu table borrow dan table member dimana kolum member_id di tabel borrow = kolum id di member.
LEFT JOIN
LEFT JOIN digunakan untuk mengambil semua data yang berada di tabel kiri (tabel1) dengan baris yang cocok dengan tabel kanan (tabel2). Namun, jika tabel2 tidak cocok dengan tabel1 maka tabel2 akan menghasilkan NULL. LEFT JOIN disebut juga dengan LEFT OUTER JOIN. Berikut adalah syntax dasar untuk LEFT JOIN di MySQL.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT nama_tabel.nama_kolom,.... | |
FROM tabel1 | |
LEFT JOIN tabel2 | |
ON tabel1.nama_kolom = tabel2.nama_kolom; |
Contoh script menggunakan LEFT JOIN :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT member.name AS Name, member.email AS Email, member.telephone AS Telephone, borrow.code AS BorrowCode | |
FROM member | |
LEFT JOIN borrow | |
ON member.id = borrow.member_id; |
Berdasarkan script dan screenshot diatas, saya ingin menampilkan data member yang sudah meminjam buku di dalam tabel borrow. Terlihat di screenshoot baris ke-6 BorrowCode nya adalah NULL, berarti id member yang bernama "Adit" tidak ada di tabel borrow dan LEFT JOIN akan menampilkan semua field di dalam table member walaupun id member itu tidak ada di dalam tabel borrow.
RIGHT JOIN
RIGHT JOIN adalah kebalikan dari LEFT JOIN. Seperti LEFT JOIN, RIGHT JOIN juga disebut dengan RIGHT OUTER JOIN. Berikut merupakan syntax dasar untuk pemakaian RIGHT JOIN di MySQL.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT nama_tabel.nama_kolom | |
FROM tabel1 | |
RIGHT JOIN tabel2 | |
ON tabel1.nama_kolom = tabel2.nama_kolom; |
Contohnya? Silahkan berkreasi sendiri hehe
FULL JOIN
FULL JOIN adalah gabungan dari LEFT JOIN dan RIGHT JOIN, yaitu mengambil semua data di tabel kiri dan kanan. Jika tabel kiri tidak cocok dengan tabel kanan, ataupun sebaliknya. Maka keduanya tetap ditampilkan.Sebenarnya, FULL JOIN (atau FULL OUTER JOIN) tidak support di MySQL, namun kita bisa mengakalinya dengan mennggabungkan syntax LEFT JOIN dan RIGHT JOIN dengan disisipkan UNION(untuk mengabaikan duplikat) atau UNION ALL. Syntaxnya yaitu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT nama_tabel.nama_kolom,.... | |
FROM tabel1 | |
LEFT JOIN tabel2 | |
ON tabel1.nama_kolom = tabel2.nama_kolom | |
UNION | |
SELECT nama_tabel.nama_kolom | |
FROM tabel1 | |
RIGHT JOIN tabel2 | |
ON tabel1.nama_kolom = tabel2.nama_kolom; |
Contoh Script:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT member.name AS Name, member.email AS Email, member.telephone AS Telephone, borrow.code AS BorrowCode | |
FROM member LEFT JOIN borrow ON member.id = borrow.member_id | |
UNION | |
SELECT member.name AS Name, member.email AS Email, member.telephone AS Telephone, borrow.code AS BorrowCode | |
FROM member RIGHT JOIN borrow | |
ON member.id = borrow.member_id; |
Mungkin itu saja yang bisa saya sampaikan dalam artikel ini. Semoga bermanfaat
SQL Join di MySQL
4/
5
Oleh
Muhammad Iqbal