Pengertian dan Jenis-jenis JOIN di SQL

Untuk menampilkan data dari database jarang sekali kita hanya mengakses dari satu tabel. Biasanya kita akan mengakses dari beberapa tabel secara bersamaan untuk mendapatakan hasil data yang sesuai kebutuhan. Salah satu cara untuk melakukan hal tersebut bisa menggunakan JOIN. Pada artikel ini akan dijelaskan beberapa jenis Join di SQL.

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

pengertian_dan_jenis_join_sql_1
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

pengertian_dan_jenis_join_sql_2
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
pengertian_dan_jenis_join_sql_3
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

pengertian_dan_jenis_join_sql_4
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

pengertian_dan_jenis_join_sql_5
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

pengertian_dan_jenis_join_sql_6
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

pengertian_dan_jenis_join_sql_7
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;

Related Posts: