Join SQL adalah proses penggabungan dua tabel atau lebih dengan menyandingkan kolom tertentu atau uniqe key yang terdapat pada tabel-tabel tersebut. Join SQL bertujuan untuk memperoleh informasi yang lebih lengkap dengan menggabungkan informasi dari beberapa tabel.
Join SQL sangat penting untuk menangani relational database yang memungkinkan data dikelola dan dianalisis secara lebih efisien dengan memanfaatkan keterkaitan antar tabel.
Dalam bidang data science, hasil Join SQL digunakan untuk berbagai kebutuhan seperti pada proses pembersihan data, memperoleh pengetahuan , dan membentuk visualisasi data.
Misalkan terdapat dua tabel berikut :
Silahkan download file berikut dan import pada Tools SQL seperti MySQL, SQL Server, Oracle dll.
TABLE 1 (PRODUK)
| produk_id | produk_nama | produk_price |
| 1 | Laptop | 5,000,000 |
| 2 | Kertas A4 | 60,000 |
| 3 | Meja | 1,200,000 |
| 4 | Kursi | 2,000,000 |
| 5 | Buku tulis | 50,000 |
| 6 | Monitor | 2,000,000 |
| 7 | Mouse | 250,000 |
| 8 | Rak | 550,000 |
TABLE 2 (KATEGORI)
| kategori_id | kategori_nama |
| 1 | Elektronik |
| 2 | Furniture |
| 3 | Alat Musik |
| 5 | Peralatan K3 |
BAGAIMANA CARA MELAKUKAN JOIN TABLE 1 dan TABLE 2 ?
Terdapat 4 cara umum yang dilakukan untuk melakukan operasi join dengan SQL yaitu :

1. INNER JOIN
INNER JOIN atau sering ditulis dengan JOIN adalah jenis join yang paling umum dilakukan. Inner Join digunakan ketika akan menggabungkan dari dua tabel dan hanya mengambalikan nilai yang memiliki kunci yang sama dari kedua tabel tersebut.
SELECT
produk.produk_nama, produk.produk_harga, kategori.kategori_nama
FROM
blog.produk
INNER JOIN
blog.kategori
ON
blog.produk.kategori_id = blog.kategori.kategori_id
Hasil :

2. LEFT JOIN
LEFT JOIN digunakan ketika menggabungkan dua tabel dengan mengambil semua baris yang terdapat pada LEFT TABLE (tabel pertama) dan mencocokkan kunci yang sama pada RIGHT TABLE (tabel kedua). Kunci yang tidak sama pada Tabel Kedua akan diisi dengan nilai null.
SELECT
produk.produk_nama, produk.produk_harga, kategori.kategori_nama
FROM
blog.produk
LEFT JOIN
blog.kategori
ON
blog.produk.kategori_id = blog.kategori.kategori_id
Hasil :

3. RIGHT JOIN
RIGHT JOIN digunakan ketika menggabungkan dua tabel dengan mengambil semua baris yang terdapat pada RIGHT TABLE (tabel kedua) dan mencocokkan kunci yang sama pada LEFT TABLE (tabel pertama). Kunci yang tidak sama pada tabel pertama akan diisi dengan nilai null.
SELECT
produk.produk_nama, produk.produk_harga, kategori.kategori_nama
FROM
blog.produk
RIGHT JOIN
blog.kategori
ON
blog.produk.kategori_id = blog.kategori.kategori_id
Hasil :

4. FULL OUTER JOIN
FULL OUTER JOIN digunakan ketika menggabungkan dua tabel dengan mengambil semua baris dari kedua tabel baik yang memiliki kunci yang sama maupun tidak. Baris yang tidak memiliki kunci yang sama akan diisi dengan nilai null.
SELECT
produk.produk_nama, produk.produk_harga, kategori.kategori_nama
FROM
blog.produk
FULL OUTER JOIN
blog.kategori
ON
blog.produk.kategori_id = blog.kategori.kategori_id
Hasil :

KESIMPULAN
- INNER JOIN: Mengembalikan hanya baris yang memiliki kunci yang sama pada kedua tabel.
- LEFT JOIN: Mengembalikan semua baris dari LEFT TABLE (Tabel Pertama) dan hanya baris yang memiliki kunci sama pada RIGHT TABLE (Tabel Kedua).
- RIGHT JOIN: Mengembalikan semua baris dari RIGHT TABLE (Tabel Kedua) dan hanya baris yang memiliki kunci yang sama pada LEFT TABLE (Tabel Pertama).
- FULL OUTER JOIN: Menggabungkan semua baris yang memiliki kunci yang sama maupun yang tidak sama pada kedua tabel.
