JOIN TABEL
Perintah
join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih
dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel
tersebut.. Join dilakukan dengan mengaitkan dua buah kolom dari tabel-tabel
yang digabungkan sebagai key. Klausa join ada beberapa macam :
1.
inner join
2.
left outer join
3.
right outer join
Inner
Join
Perintah
inner join, berfungsi menggabungkan dua buah tabel dengan seleksi tertentu. Seleksi
menggunakan perintah on diikuti dengan kondisi seleksi. Misalnya :
SELECT
transaksi.id_pelanggan, pelanggan.nama , transaksi.id_barang, transaksi.jumlah_barang FROM pelanggan inner join transaksi
ON pelanggan.id_pelanggan =
transaksi.id_pelanggan
Inner
join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai
dengan syarat dengan kata lain semua
data dari tabel kiri yang memiliki pasangan data dari tabel sebelah kanan. Hasilnya
adalah kolom-kolom dari tabel pelanggan
digabung dengan tabel transaksi dengan kunci (key) id_pelanggan masing-masing tabel adalah sama.
Penggabungan tabel dengan inner
join juga dapat dilakukan dengan cara :
SELECT T.id_pelanggan, P.nama , T.id_barang, T.jumlah_barang
FROM
pelanggan P, transaksi T
WHERE P.id_pelanggan =T.id_pelanggan
Left Outer
Join
Left
join digunakan untuk menampilkan semua
data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel
sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki
pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL
SELECT T.id_pelanggan, P.nama , T.id_barang, T.jumlah_barang
FROM
pelanggan P left outer join transaksi T
ON P.id_pelanggan =T.id_pelanggan
Perintah
ini memiliki hasil berupa penggabungan antara tabel pelanggan dan tabel transaksi
dengan syarat data id_pelanggan pada tabel transaksi dan tabel pelanggan harus
sama dan seluruh record pada tabel pelanggan (tabel kiri) harus muncul. Penggabungan tabel dengan left
outer join juga dapat dilakukan dengan sintaks :
SELECT T.id_pelanggan, P.nama , T.id_barang, T.jumlah_barang
FROM
pelanggan P , transaksi T
WHERE P.id_pelanggan*
=T.id_pelanggan
Right Outer Join
Right join digunakan untuk
menampilkan semua data dari tabel sebelah kanan perintah right join beserta
pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan
tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai
NULL.
SELECT T.id_pelanggan, P.nama , T.id_barang, T.jumlah_barang
FROM
pelanggan P right outer join transaksi T
ON P.id_pelanggan =T.id_pelanggan
Penggabungan
tabel dengan right outer join juga dapat dilakukan dengan sintaks :
SELECT T.id_pelanggan, P.nama , T.id_barang, T.jumlah_barang
FROM
pelanggan P , transaksi T
WHERE P.id_pelanggan=*T.id_pelanggan
Query
di atas menghasilkan gabungan antara tabel pelanggan dan tabel transaksi dengan
Syarat data id_pelanggan pada tabel transaksi dan tabel pengguna harus sama dan
seluruh record pada tabel transaksi (kanan) harus muncul.
Join dengan Filtering
Where
pada perintah join dibenarkan. Where diletakkan setelah perintah join. Fungsinya
adalah melakukan filtering record hasil join. Sebagai contoh perhatikan query
berikut :
SELECT T.id_pelanggan, P.nama , T.id_barang, T.jumlah_barang
FROM
pelanggan P, transaksi T
WHERE P.id_pelanggan
=T.id_pelanggan
AND T.no_transaksi IS NOT NULL
Comments
Post a Comment