Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-to-many), atau M-N (many-to-many). Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel. Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah join.
Join memiliki beberapa jenis atau tipe yaitu inner join, cross join, outer join, equi, dan self join. Dalam makalah ini kami akan membahas tentang jenis-jenis atau tipe-tipe joins table secara garis besar diantaranya inner join, left join,right join dan full join (outer join) dengan mengimplementasikan nya menggunakan cmd dan phpmyadmin.
Berdasarkan penjelasan di atas, MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih guna mendapatkan informasi yang diinginkan. Proses yang dilakukan dengan nama JOIN. Dalam penggabungan dari beberapa tabel (join) ada beberapa hal yang perlu diperhatian, antara lain :
- Setiap kolom disebutkan dengan bentuk,
- tabel-tabel yang dilibatkan dalam queri perlu disebutkan dalam Klausa FORM dengan antar tabel dipisah oleh koma.
- Kondisi dalam WHERE menetukan macam join yang terbentuk
Query atau juga sering disebut dengan SQL singkatan dari Structured Query Language adalah suatu bahasa yang digunakan untuk mengakses database. (Achmad Solichin, 2010).
Secara singkat join merupakan sarana untuk menggabungkan kolom dari satu tabel atau lebih banyak tabel. Join diperlukan karena perancangan table pada sistem transaksional kebanyakan di-normalisasi, salah satu alasannya untuk menghindari redundansi. Joins topik menjadi hal yang paling disalahpahami di antara pengguna SQL
Macam-macam bentuk Penggabungan (Join)
Cara kerja join ialah dengan mencari kecocokan kolom tertentu pada sebuah tabel dengan kolom tertentu pada tabel lain, kemudian menampilkan hasilnya sebagai satu set data gabungan. Secara garis besar, terdapat 3 macam join, yaitu INNER JOIN, LEFT JOIN dan RIGHT JOIN.
- Inner Join
Definisi dan Kegunaan inner join adalah sebagai berikut:
- Digunakan untuk mengembalikan baris dari kedua tael yang memenuhi kondisi yang diberikan.
- Digunakan untuk menampilkan data dari dua atau lebih tabel dengan menggunakan operator perbandingan pada kolom yang terdapat di tabel-tabel tersebut.
- Baris yang sesuai dengan kondisi join akan ditampilkan sedangkan yang tidak sesuai akan dieliminasi
Misalkan, anda ingin mendapatkan daftar anggota yang telah menyewa film bersama dengan judul film yang disewa oleh mereka. Anda bisa menggunakan inner join untuk itu, yang mengembalikan baris dari kedua tabel yang sesuai dengan kondisi yang ada.
Bentuk umum sintak: SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi
SELECT members.first_name, members.last_name, movies.movie_id, movies.title
FROM members, movies
WHERE members.movie_id = movies.movie_id
- CROSS JOIN, Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada kondisi.
SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;
- LEFT (OUTER) JOIN
Akan menampilkan tabel disebelah kanannya (dalam hal ini tabel nilai) dengan NULL jika tidak terdapat hubungan antara tabel disebelah kiri (dalam hal ini tabel siswa)
SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi
Contoh
mysql> select siswa.nim,nama,nilai from siswa left join nilai on siswa.nim=nilai.nim;
- RIGHT/OUTER JOIN
Kebalikan dari LEFT JOIN, jika idak menemukan hubungan dengan tabel disebelah kiri maka akan ditampilkan NULL
SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi
Contoh:
mysql> select siswa.nim,nama,nilai from siswa right join nilai on siswa.nim=nilai.nim;