Join digunakan untuk menggabungkan baris dari dua atau lebih tabel berdasarkan kolom yang terkait di antara tabel-table tersebut, atau sering kita sebut dengan relational database. Join memungkinkan kita untuk memperoleh data dari beberapa tabel dalam satu query. Jika hanya menggunakan satu buah tabel, data yang kita simpan atau peroleh akan terbatas. Kita bisa saja menyimpan banyak data dari sebuah tabel, tapi tabel tersebut akan menjadi kurang baik.
Berikut adalah jenis-jenis Join SQL yang paling sering digunakan.
Inner Join
Inner Join |
Inner Join mengembalikan baris-baris dari dua tabel atau lebih yang memenuhi syarat.
SELECT columns
FROM TableA
INNER JOIN TableB
ON A.columnName = B.columnName;
Left [Outer] Join
Left [Outer] Join |
Left Outer Join atau sering disingkat dengan Left Join akan mengembalikan seluruh baris dari tabel disebelah kiri yang dikenai kondisi ON dan baris dari tabel disebelah kanan yang hanya memenuhi kondisi join.
SELECT columns
FROM TableA
LEFT OUTER JOIN TableB
ON A.columnName = B.columnName;
Left [Outer] Join without Intersection
Left [Outer] Join without Intersection
Ini merupakan variasi dari Left Outer Join. Pada Join ini kita hanya akan mengambil data dari tabel sebelah kiri yang dikenai kondisi ON yang juga memenuhi kondisi Join tanpa data dari tabel sebelah kanan yang memenuhi kondisi Join.SELECT columns
FROM TableA
LEFT OUTER JOIN TableB
ON A.columnName = B.columnName
WHERE B.columnName IS NULL;
Right [Outer] Join
Right [Outer] Join |
Right Outer Join atau sering disingkat dengan Right Join merupakan kebalikan dari left Outer Join. Join ini akan mengembalikan seluruh baris dari tabel disebelah kanan yang dikenai kondisi ON dan baris dari tabel disebelah kiri yang hanya memenuhi kondisi join.
SELECT columns
FROM TableA
RIGHT OUTER JOIN TableB
ON A.columnName = B.columnName;
Right [Outer] Join without Intersection
Right [Outer] Join without Intersection |
Ini merupakan variasi dari Right Outer Join. Pada Join ini kita hanya akan mengambil data dari tabel sebelah kanan yang dikenai kondisi ON yang juga memenuhi kondisi join tanpa data dari tabel sebelah kiri yang memenuhi kondisi join.
SELECT columns
FROM TableA
RIGHT OUTER JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL;
Full [Outer] Join
Full [Outer] Join |
Full Outer Join atau sering disingkat dengan Full Join akan mengembalikan seluruh baris dari kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.
SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName;
Full [Outer] Join without Intersection
Full [Outer] Join without Intersection |
Variasi lain dari Full Outer Join yang akan mengembalikan seluruh data dari kedua tabel yang dikenai ON tanpa data yang memiliki nilai NULL.
SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL
OR B.columnName IS NULL;