Jumat, 16 Mei 2014

Perbedaan Join: Left, Right, Inner, Straight, Natural, Cross Join

perbedaan dalam penggunaan JOIN berikut ini :

  1. Left Outer Join 
  2. Right Outer Join 
  3. Inner Join 
  4. Straight Join 
  5. Natural Join 
  6. Cross Join


Left Outer Join
Left Join digunakan untuk menampilkan semua record pada table di sebelah kiri.
SELECT `odID`,`ProductName`, `Quantity`
FROM `order_details`
LEFT JOIN `products`
ON `order_details`.`ProductID` = `products`.`ProductID`;
Right Outer Join
Kebalikan dari left join ,right join digunakan untuk menampilkan semua record pada table di sebelah kanan.
SELECT `odID`,`ProductName`, `Quantity`
FROM `order_details`
RIGHT JOIN `products`
ON `order_details`.`ProductID` = `products`.`ProductID`;
Inner Join
Operasi Join tipe ini akan hanya menampilkan tabel sisi kiri yang datanya sama dengan data di pasangan joinnya yg disisi kanan.
Contoh query:
SELECT `odID`,`ProductName`, `Quantity`
FROM `order_details` INNER JOIN `products`
ON `order_details`.`ProductID` = `products`.`ProductID`
Natural JOIN
Jika menggunakan Natural Join, kita tidak perlu menyebutkan kolom yang akan di-join-kan dengan syarat, nama kolom antara kolom pada tabel1 dan tabel2 harus sama. Jika pada tabel1 dan tabel2 ada lebih dari satu kolom yang namanya sama, maka semua kolom yang sama tersebut akan dibandingkan.
Contoh query
SELECT `odID`,`ProductName`, `Quantity`
FROM `order_details` NATURAL JOIN `products`
CROSS JOIN
Perbedaan dengan query biasa adalah di bagian FROM: tanda koma diganti dengan kata ‘cross join’ dan tidak perlu ada koma setelah nama table disebutkan di belakang katan ‘from’.
Contoh query:

SELECT products.ProductID, products.ProductName, suppliers.CompanyName
FROM `products`
CROSS JOIN `suppliers`
WHERE products.`SupplierID`=`suppliers`.`SupplierID`;

.

1 komentar:

  1. wah pembahasannya sangat mudah dimengerti, saya jadi paham tentang perbedaan inner, left dan right join, makasih kaka sharing ilmunya ^^

    BalasHapus