JOIN
Oleh :
Bab I Pendahuluan
1.1 Latar Belakang...............................................................................................
1.2 Rumusan Masalah.........................................................................................
1.3 Tujuan Penulisan...........................................................................................
Bab II Pembahasan
2.1 Pengertian Joins Table..................................................................................
2.2 Jenis-jenis Joins.............................................................................................
1.1 Latar Belakang
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.
Members
Movies
Apa itu joins table?
2.2 Jenis-Jenis Joins
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.
2.2.1 Inner Join
Definisi dan Kegunaan inner join adalah sebagai berikut:
1. Digunakan untuk mengembalikan baris dari kedua tael yang memenuhi kondisi yang
diberikan.
2. Digunakan untuk menampilkan data dari dua atau lebih tabel dengan menggunakan
operator perbandingan pada kolom yang terdapat di tabel-tabel tersebut.
3. 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.
Sript II
SELECT a.movie_id, a.name, b.movie_id, b.title
FROM members AS a
Script III
SELECT a.movie_id, a.name, b.movie_id, b.title
ON a.movie_id = b.movie_id
Script IV
SELECT a.movie_id, a.name, b.movie_id, b.title
FROM members a
2.2.2 Left Join
Definisi dan Kegunaan left join adalah sebagai berikut:
1. Left join termasuk outer join yang digunakan untuk mengembalikan semua record
yang cocok dari kedua tabel. Ini bisa mendeteksi record yang tidak cocok di tabel join
dan mengembalikan niai NULL untuk catatan tabel join jika tidak ada yang cocok.
2. Menghasilkan semua baris yang terdapat pada tabel yang disebutkan di sebelah kiri
keyword LEFT OUTER JOIN yang akan digabungkan dengan aris yang sesuai pada
tabel yang disebutkan disebelah kanan keyword LEFT OUTER JOIN.
3. Jika baris disebelah kiri tidak memiliki pasangan pada tabel sebelah kanan, maka nilai
yang akan tampil adalah NULL (disebelah kanan NULL nya).
Dalam contoh kita, mari kita asumsikan bahwa Anda perlu mendapatkan nama anggota dan
film yang disewa oleh mereka. Sekarang kita memiliki anggota baru yang belum menyewa
film apapun. Kita dapat menggunakan left join untuk tujuan ini.
Left join mengembalikan semua baris dari tabel di sebelah kiri meskipun tidak ada baris yang
cocok ditemukan di tabel di sebelah kanan. Dimana tidak ditemukan kecocokan pada tabel di
sebelah kanan, NULL dikembalikan.
FROM members AS a
ON a.movie_id = b.movie_id
Script II:
FROM members a
Melaksanakan skrip I dan II (sama) di atas pada phpmyadmin dan cmd. Dapat dilihat bahwa
dalam hasil yang dikembalikan yang tercantum di bawah ini untuk film yang tidak disewa,
movie_id dan title memiliki nilai NULL. Itu berarti tidak ada member_id atau member (nico)
yang berelasi.
Catatan: Null dikembalikan untuk baris yang tidak cocok di kanan
1. Right join termasuk outer join yang digunakan untuk mengembalikan semua record
yang cocok dari kedua tabel. Ini bisa mendeteksi record yang tidak cocok di tabel join
dan mengembalikan niai NULL untuk catatan tabel join jika tidak ada yang cocok.
2. Menghasilkan semua baris yang terdapat pada tabel yang disebutkan di sebelah kanan
keyword RIGHT OUTER JOIN yang akan digabungkan dengan aris yang sesuai pada
tabel yang disebutkan disebelah kiri keyword RIGHT OUTER JOIN.
3. Jika baris disebelah kanan tidak memiliki pasangan pada tabel sebelah kiri, maka nilai
yang akan tampil adalah NULL (disebelah kiri NULL nya).
Asumsikan sekarang anda ingin mendapatkan judul semua film bersama dengan nama
member yang telah menyewanya. Jelas bahwa beberapa film tidak disewa oleh siapa
pun. Kita bisa menggunakan right join untuk tujuan itu.
Sript Right Join:
SELECT a.member_id, a.name, b.movie_id, b.title
FROM membersAS a
Melaksanakan skrip sql di atas pada phpmyadmin dan cmd memberikan hasil:
Catatan: Null dikembalikan untuk baris yang tidak cocok di sebelah kiri
Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record –
record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling
kiri.
Script I Full Join:
SELECT * FROM members FULL JOIN movies USING(movie_id);
Melaksanakan skrip di atas pada phpmyadmin memberikan hasil sebagai berikut:
Script II sql dibawah ini akan menampilkan semuanya atau secara keseluruhan:
BAB III
PENUTUP
3.1 KESIMPULAN
1. Table Joins adalah penggabungan tabel-tabel menggunakan query yang dilakukan melalui
kolom/key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan
informasi lengkap yang artinya kolom data didapatkan dari kolom kolom hasil join antar
tabel tersebut.
2. Joins memungkinkan kita menggabungkan data dari lebih dari satu tabel ke dalam kumpulan
hasil tunggal.
3. Jenis join utama termasuk inner, left outer join, right outer join, full outer join.
4. Left Join menghasilkan baris disebelah kiri tidak memiliki pasangan pada tabel sebelah
kanan, maka nilai yang akan tampil adalah NULL.
5. Right Join menghasilkan baris disebelah kanan tidak memiliki pasangan pada tabel sebelah
kiri, maka nilai yang akan tampil adalah NULL.
6. Full joins menghasilkan kedua table dengan record – record yang bersesuaian saja. Field yang
berelasi ditampilkan sekali di awal table atau paling kiri.
7. Selain klausa on juga ada where, using tetapi yang lebih sering digunakan dalam operasi joins
adalah on. Klausa join mengharuskan kolom yang cocok diberi nama yang sama.
3.2 SARAN
1. Sebelum membuat tabel join di cmd atau phpmyadmins alangkah baiknya membuat
rancangan tabel supaya gampang dan terstruktur.
2. Sebaiknya harus lebih teliti lagi dalam mengetik script di command prompt atau cmd karena
jika salah akan terjadi eror walaupun bisa diulang lagi jika terus seperti itu akan menghambat
waktu.