INNER DAN OUTER JOIN
Hai, Balik lagi di blog
saya dan Selamat datang di blog saya. Di kesempatan kali ini saya akan menjelaskan
Inner Join dan Outer Join. Untuk penjelasannya ada dibawah.
Apa sih Inner join dan outer join itu?
Inner join
itu adalah perintah untuk menampilkan
record atau menggabungkan 2 table atau lebih. Pada perintah inner join, hanya
data yang punya pasangan saja yang akan ditampilkan. Jika kedua table tidak ada kesamaan maka data tidak akan
ditampilkan.Dan dengan inner
join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi.
Outer
join itu adalah join yang
mencari referensi data dari suatu table sumber ke table lain dengan tidak
menghilangkan data sumber apabila referensi tidak diketemukan. Disini outer
join dibagi menjadi 3 yaitu left join, right join dan full join. Tapi disini
yang saya baru pelajarin hanya 2 left dan right join saja.
Dari pada kalian
penasaran kita lanjut aja yuk.
Disini saya akan menggabungkan 2 tabel. Yaitu tabel
pelanggan dan pesan dimana kita akan menampilkan data pelanggan yang pernah melakukan
pemesanan.
Tabel pelanggan :
Tabel pesan :
Cara 1 Penggabungan dengan
WHERE.
Berikut syntak SQL nya.
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,
pesan.id_pesan,
pesan.tgl_pesan
FROM pelanggan, pesan
WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;
Maka hasilnnya seperti berikut.
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 2 : Penggabungan dengan
INNER JOIN
Berikut
perintah SQL nya.
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;
Maka hasilnya seperti berikut.
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.
Cara menggunakan Left join.
Barikut syntak SQL nya.
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;
Maka hasilnya seperti berikut.
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.
Berikut syntak SQL nya.
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;
Maka hasilnya seperti berikut.
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.
Cukup sekian tutorial
dari saya mohon maaf apabila ada kekuranan atau salah-salah tulisan dan kata.
Karena manusia tidak luput dari kesalahan. Dan semoga kalian memaafkannya.
Jangan kapok ya mengunjungi blog saya.
Terima kasih…
Komentar
Posting Komentar