Perintah “
Select” satu tabel dalam query mungkin akan sangat mudah untuk dilakukan, namun seringkali kebutuhan perusahaan akan data mengharuskan kita untuk mengakses lebih dari satu tabel dan hal itu terkadang tidak dapat dilakukan hanya dengan perintah “
select” sederhana. Contoh kasus “
cari semua pesanan untuk setiap pelanggan dan tampilkan setiap produk untuk setiap pesanan”. Dalam situasi seperti diasumsikan bahwa terdapat Table Customer, Table Order, dan Tabel Order_line (dimana table yang terakhir hubungannya many to many). Bagi mereka yang sedikit lebih akrab dengan SQL, itu tampak jelas bahwa kasus ini dapat diselesaikan dengan menggunakan fungsi Join. Sekarang kita lihat contoh code berikut :
1
2
3
4
5
6
|
SELECT customer.customerID, order .order_id, order_line.order_item
FROM customer
INNER JOIN order
ON customer.customerID = order .customerID
INNER JOIN order_line
ON order .orderID = order_line.orderID;
|
Sekedar informasi untuk yang tidak tahu, bahwa code diatas menggunakan fungsi inner join, lebih spesifik lagi equi-join
Sekarang kita definisikan beberapa type dari join
- Inner Joins : JOIN yang hanya menampilkan data pada kolom yang sesuai dengan yang dibandingkan, tidak akan mengeluarkan nilai NULL pada kolom yang dibandingkan
- Outer JOIN : tidak hanya menampilkan kolom yang sesuai dengan yang dibandingkan, tetapi juga kolom yang tidak sesuai dengan yang dibandingkan, dapat dibagi menjadi :
- Left-Outer JOIN : akan menampilkan semua baris pada tabel yang terletak pada kiri syntax JOIN walapun tidak sesuai dengan tabel yang berada pada sebelah kanan JOIN
- Right-Outer JOIN : akan menampilkan semua baris pada tabel yang terletak pada kanan syntax JOIN walapun tidak sesuai dengan tabel yang berada pada sebelah kiri JOIN
- FULL-Outer JOIN : akan menampilkan semua baris pada tabel yang terletak pada kiri dan kanan syntax JOIN walapun tidak sesuai ketika dibandingkan.
Special thanks to Ronald Erdei for the images.
Demikian posting dari newbie, mudah mudahan bermanfaat
Seppp thanks infonya gan 😂😂
ReplyDeleteSami2
Delete