Sunday, October 28, 2012

SQL Join Tabel

Query JOIN pada bahasa SQL berfungsi untuk menggabungkan data dari 2 atau lebih tabel dalam sebuah database. Syntax SQL mempunyai 4 tipe JOIN, yaitu: INNER, OUTER, LEFT, dan RIGHT.

1.Inner Join:
SELECT FROM TabelA INNER JOIN TabelB ON TabelA.Key = TabelB.Key
INNER JOIN hanya akan menampilkan data yang cocok satu sama lain (berpasangan) pada kedua tabel. Diagram Venn-nya adalah sebagai berikut.


2.Outer Join:
Pada dasarnya OUTER JOIN dibagi menjadi 3, FULL OUTER JOIN, LEFT OUTER JOIN, dan RIGHT OUTER JOIN.
a.1.FULL OUTER JOIN
SELECT FROM TabelA FULL OUTER JOIN TabelB ON TabelA.Key = TabelB.Key
FULL OUTER JOIN menghasilkan semua data yang ditemukan dan cocok satu sama lain pada kedua tabel, jika ada yang tidak cocok, bagian yang tidak ada tersebut akan berisi null. Jadi bisa dikatakan FULL OUTER JOIN ini akan menampilkan semua data yang ada di kedua tabel termasuk yang tidak cocok satu sama lain. Diagram Venn-nya adalah sebagai berikut.
a.2.FULL OUTER JOIN dengan klausa WHERE
SELECT FROM TabelA FULL OUTER JOIN TabelB ON TabelA.Key = TabelB.Key WHERE TabelA.Key IS null OR TabelB.Key IS null
Query FULL OUTER JOIN di atas menghasilkan data yang unik (tidak ada yang berpasangan) dari TabelA dan TabelB. Diagram Venn-nya adalah sebagai berikut.
b.1. LEFT OUTER JOIN
SELECT FROM TabelA LEFT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key
LEFT OUTER JOIN menghasilkan semua data yang ada pada TabelA (tabel sebelah kiri), dengan pasangannya (jika ada) pada TabelB (tabel sebelah kanan). Jika pasangannya tidak ditemukan, tabel sebelah kanan akan berisi null. Diagram Venn-nya adalah sebagai berikut.
b.2. LEFT OUTER JOIN dengan klausa WHERE
SELECT FROM TabelA LEFT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key WHERE TabelB.Key IS null
Query LEFT OUTER JOIN di atas menghasilkan data yang hanya ada pada TabelA (tabel sebelah kiri). Diagram Venn-nya adalah sebagai berikut.
c.1. RIGHT OUTER JOIN
SELECT FROM TabelA RIGHT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key
RIGHT OUTER JOIN menghasilkan semua data yang ada pada TabelB (tabel sebelah kanan), dengan pasangannya (jika ada) pada TabelA (tabel sebelah kiri). Jika pasangannya tidak ditemukan, tabel sebelah kanan akan berisi null. Diagram Venn-nya adalah sebagai berikut
c.2. RIGHT OUTER JOIN dengan klausa WHERE
SELECT FROM TabelA RIGHT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key WHERE TabelA.Key IS null
Query RIGHT OUTER JOIN di atas menghasilkan data yang hanya ada pada TabelB (tabel sebelah kanan). Diagram Venn-nya adalah sebagai berikut.

No comments:

Post a Comment