1. Inner Join
Dengan inner join, tabel akan digabungkan dua arah,
sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, kita
akan menggabungkan tabel pelanggan dan pesan dimana kita akan
menampilkan daftar pelanggan yang pernah melakukan pemesanan
(transaksi). Misalkan isi tabel pelanggan dan pesan adalah sebagai
berikut :
Contoh isi tabel pelanggan
Tabel pesan.
Contoh isi tabel pesan
Cara #1. Inner Join dengan WHERE.
Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2
WHERE tabel1.PK=tabel2.FK;
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan, pesan
WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya sebagai berikut:
Hasil Penggabungan 2 Tabel dengan WHERE
Pada hasil perintah query di atas terlihat bahwa
terdapat 5 (lima) transaksi yang dilakukan oleh 3 (tiga) orang
pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka
terdapat satu pelanggan yang tidak ditampilkan yaitu yang memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaksi.
Cara #1. Inner Join dengan klausa INNER JOIN.
Berikut ini bentuk umumnya:
SELECT tabel1.*, tabel2.*
FROM tabel1 INNER JOIN tabel2
ON tabel1.PK=tabel2.FK;
Dan berikut ini perintah SQL penggabungan tabel pelanggan dan pesan.
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan INNER JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya akan sama dengan gambar di atas (cara #1).
2. Outer Join
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong)
di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan
dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah
melakukan pemesanan (transaksi).
Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohnya:
LEFT JOIN.
Bentuk umum:
SELECT tabel1.*, tabel2.*
FROM tabel1 LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan LEFT JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya:
Hasil Perintah Left Join
Berbeda dengan hasil sebelumnya (inner join), penggunaan
left join akan menampilkan juga data pelanggan dengan id P0003,
walaupun pelanggan tersebut belum pernah bertransaksi. Dan pada kolom
id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di
tabel kanan (pesan) pelanggan tersebut tidak ada.
RIGHT JOIN
Bentuk umum:
SELECT tabel1.*, tabel2.*
FROM tabel1 RIGHT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan RIGHT JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya:
Hasil Perintah Right Join
Dengan right join, tabel yang menjadi acuan adalah tabel
sebelah kanan (tabel pesan), jadi semua isi tabel pesan akan
ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi
tabel pesan tetap ditampilkan.
Menggabungkan 3 Tabel atau Lebih
Untuk menggabungkan tiga tabel atau lebih, pada dasarnya
sama dengan penggabungan 2 (dua) tabel. Sebagai contoh misalnya kita
akan menampilkan barang-barang yang dipesan beserta nama barang dan
harganya untuk pemesanan dengan nomor 1, sedemikian sehingga hasilnya
menjadi sebagai berikut:
Contoh Hasil Penggabungan 3 Tabel
Tidak ada komentar:
Posting Komentar
Komentar Anda di Modernisasi, Sampaikan dengan Cara Sopan dan Singkat.Terimakasih.