JOIN dalam SQL ialah klausa yang digunakan untuk menggabungkan baris daripada dua atau lebih jadual berdasarkan lajur yang mempunyai nilai berkaitan. Tujuan utamanya adalah untuk mendapatkan satu set data dengan maklumat yang lengkap dan menyeluruh. “Lengkap” yang dimaksudkan di sini ialah susunan data yang diperoleh daripada gabungan lajur-lajur hasil hubungan antara jadual tersebut.
Untuk memenuhi keperluan pengambilan data yang pelbagai, perintah JOIN dibahagikan kepada beberapa jenis, iaitu OUTER JOIN, INNER JOIN, RIGHT JOIN, dan LEFT JOIN.
Perbezaan Jenis-Jenis SQL JOIN
Berikut adalah penjelasan mengenai pelbagai jenis klausa JOIN beserta contoh sintaks penulisannya untuk membantu anda memahami perbezaannya:
1. FULL OUTER JOIN
Outer join (atau Full Outer Join) akan mengembalikan semua rekod atau baris data, sama ada yang mempunyai nilai padanan (sama) mahupun yang tidak sama pada kedua-dua jadual yang digabung. Jika tiada persamaan data di antara kedua-dua jadual tersebut, maka bahagian yang kosong akan secara automatik diberikan nilai NULL pada hasil join tersebut.
Sintaks penulisan:
SQL
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
2. LEFT JOIN
Left Join merupakan operasi yang akan mengembalikan semua rekod dari jadual sebelah kiri (jadual pertama) daripada kedua-dua jadual yang digabungkan. Seluruh data dari jadual kiri akan kekal ditarik dan dipaparkan, walaupun nilai pada jadual kiri tersebut tidak mempunyai persamaan dengan data pada jadual kanan (jadual kedua). Data di jadual kanan yang tidak mempunyai pasangan akan digantikan dengan NULL.
Sintaks penulisan:
SQL
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
3. RIGHT JOIN (Pelengkap)
Sebagai lawan kepada Left Join, klausa Right Join akan mengembalikan semua rekod dari jadual sebelah kanan (jadual kedua), beserta data yang mempunyai padanan dari jadual sebelah kiri. Jika tiada data yang padan di jadual kiri, maka hasil dari sisi kiri akan bernilai NULL.
Sintaks penulisan:
SQL
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
4. INNER JOIN (Pelengkap)
Inner Join adalah jenis klausa yang paling kerap digunakan. Berbeza dengan Outer Join, Inner Join bekerja lebih ketat dengan hanya mengembalikan baris yang datanya mempunyai padanan (persilangan) di kedua-dua jadual yang digabungkan.
Sintaks penulisan:
SQL
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;






