Langsung ke konten utama

INNER JOIN DAN OUTER JOIN


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.

Cara menggunakan Right join.
           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