JOIN dalam SQL tentu tidak bisa dihindarkan begitu saja, karena inti dari database adalah relasi dan tidak ada relasi tanpa join.
JOIN adalah menggabungkan dua buah atau lebih table melalui elemen / atribut yang sama yang biasanya sama dalam jenis dan tipe datanya.
Sebelumnya mari kita siapkan semua kelengkapan tutorial ini, buat dulu beberapa table dengan perintah dbawah ini:
CREATE TABLE t_peminjam (
kd_peminjam VARCHAR(4) PRIMARY KEY,
nama VARCHAR(40),
alamat VARCHAR(100),
telp VARCHAR(30)
);
insert data pada tabel yang sudah dibuat tadi
INSERT INTO t_peminjam VALUES
(’k001′,’Didin Nurdin Ahmadi’,'Depok’,'021-381283′),
(’k002′,’Lionel Messi’,'Jakarta’,'021-273289′),
(’k003′,’Ronaldo’,'Bekasi’,'021-321323′);
buat table yang kedua yaitu tabel buku
CREATE TABLE t_buku (
kd_buku VARCHAR(4) PRIMARY KEY,
nama_buku VARCHAR(40),
penerbit VARCHAR(40),
tahun VARCHAR(4)
);
insert juga data pada tabel buku yang barusan dibuat tadi
INSERT INTO t_buku VALUES
(’b001′,’Buku PHP Manual’,'Grameria’,'2001′),
(’b002′,’Buku Belajar Blog’,'Ardi’,'2002′),
(’b003′,’Buku PHP’,'Grameria’,'2010′);
kemudian buat tabel yang terakhir yaitu tabel pinjam:
CREATE TABLE t_pinjam ( no_pinjam INT(10) PRIMARY KEY, kd_peminjam VARCHAR(4), kd_buku VARCHAR(4), tgl_pinjam DATE );
Sekalian insert datanya juga :
INSERT INTO t_pinjam VALUES
(1,’k001′,’b002′,’2010-01-12′),
(2,’k002′,’b003′,’2010-01-12′),
(3,’k001′,’b003′,’2010-01-25′);
ok dari semua query yang anda jalankan diatas, hasilnya kurang lebih seperti ini

gambar 1
nah sekarang, kita coba menggabungkan dua buah tabel yaitu tabel pinjam (t_pinjam) dan tabel buku (t_buku).
SELECT * FROM t_pinjam,t_buku WHERE t_pinjam.kd_buku = t_buku.kd_buku;
gambar 2
lihat hasilnya, dua buah table tersebut disatukan sehingga tampilannya seperti diatas dan mempunyai 2 kolom kd_buku yang sama isinya.
cara join diatas menggunakan klausa WHERE yang menurut saya paling mudah digunakan dibanding menggunakan JOIN. tapi bila anda masih mempunyai waktu untuk membaca artikel ini, maka anda akan belajar tentang JOIN yang sesungguhnya (yang disediakan oleh SQL sendiri
)
Memahami SQL JOIN
Sebelum kita melanjutkan tentang pembahasan JOIN, perlu diketahui bahwa dalam MySQL, secara umum dikenal ada beberapa JOIN seperti:
- INNER JOIN, berfungsi menampilkan data yang ada pada semua tabel yang digabungkan. misal kalo tabel yang digabung cuma 2, maka pengertiannya, menampilkan data yang sama yang ada pada 2 tabel yang di JOIN (digabungkan).
- LEFT JOIN, berfungsi menampilkan data yang ada di tabel sebelah kiri
- RIGHT JOIN, berfungsi menampilkan data yang ada di tabel sebelah kanan
mungkin ada yang bertanya, apa maksudnya "tabel sebelah kiri" dan "tabel sebelah kanan" dalam SQL JOIN?
begini, misal kita mengabungkan dua tabel (t_buku) dan (t_pinjam)
SELECT * FROM t_pinjam INNER JOIN t_buku ON t_pinjam.kd_buku = t_buku.kd_buku
kode diatas akah menghasilkan data yang sama dengan gambar 2
perhatikan script diatas, disitu ada dua tabel, yang dimaksud tabel kiri adalah t_pinjam, sedangkan tabel kanan adalah t_buku.
begitu juga bila kita balik script diatas menjadi
SELECT * FROM t_buku INNER JOIN t_pinjam ON t_buku.kd_buku = t_pinjam.kd_buku;
hasilnya tetap sama, namun tabel kiri berubah menjadi (t_buku), sedangkan tabel kanan (t_pinjam).
OK mari kita lanjutkan
Comments (0)