[ BACK TO ALL ARTICLES ]
Web Development

Memahami Join Table: Menggabungkan Data dari Beberapa Tabel

Nadhif Fauzil Adhim
Nadhif Fauzil Adhim
10 Oktober 2026
0 VIEWS

Dalam basis data relasional, data sering disimpan dalam beberapa tabel yang saling berhubungan.

Join Table adalah operasi SQL yang digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan hubungan antar tabel tersebut.

Apa Itu Join?

Join adalah perintah SQL untuk mendapatkan data gabungan dari tabel-tabel yang memiliki hubungan. Operasi ini digunakan pada perintah SELECT untuk mendapatkan data yang lebih rinci dan relevan dari tabel-tabel yang saling terhubung melalui primary key dan foreign key.

Watch the video on YouTube

Jenis-jenis Join

1. Cross Join

Cross Join menghasilkan kombinasi Cartesian dari semua baris di tabel yang digabungkan.

Setiap baris di tabel pertama dipasangkan dengan semua baris di tabel kedua.

Karakteristik : Tidak membutuhkan kondisi penghubung (ON). Jarang digunakan karena menghasilkan jumlah data yang besar dan tidak efisien.

Contoh Query :

SELECT employees.name, departments.name FROM employees CROSS JOIN departments;

Hasil : Jika tabel employees memiliki 3 baris dan tabel departments memiliki 2 baris, maka hasilnya adalah 6 kombinasi (3 x 2).

2. Inner Join

Inner Join hanya mengembalikan baris yang memiliki pasangan yang cocok di kedua tabel. Baris yang tidak memiliki pasangan akan diabaikan.

Karakteristik : Menggunakan kondisi penghubung (ON) untuk mencocokkan data antar tabel.

Contoh Query :

SELECT employees.name, departments.name FROM employees INNER JOIN departments ON employees.department_id = departments.id;

Hasil : Menampilkan data hanya jika department_id dari tabel employees cocok dengan id di tabel departments.

3. Outer Join

Outer Join menampilkan data meskipun salah satu tabel tidak memiliki pasangan.

Jenis Outer Join :

  • Left Join : Mengembalikan semua baris dari tabel kiri (tabel pertama dalam query), dan baris yang cocok dari tabel kanan. Jika tidak ada pasangan di tabel kanan, kolom dari tabel kanan akan diisi dengan NULL.

Contoh Query :

SELECT employees.name, departments.name FROM employees LEFT JOIN departments ON employees.department_id = departments.id;

Hasil : Semua data dari tabel employees akan ditampilkan, meskipun tidak ada kecocokan di tabel departments.

  • Right Join : Mengembalikan semua baris dari tabel kanan, dan baris yang cocok dari tabel kiri. Jika tidak ada pasangan di tabel kiri, kolom dari tabel kiri akan diisi dengan NULL.

Contoh Query :

SELECT employees.name, departments.name FROM employees RIGHT JOIN departments ON employees.department_id = departments.id;

Hasil : Semua data dari tabel departments akan ditampilkan, meskipun tidak ada kecocokan di tabel employees.

  • Full Outer Join : Mengembalikan semua baris dari kedua tabel, baik yang memiliki pasangan maupun yang tidak. Baris yang tidak memiliki pasangan di salah satu tabel akan diisi dengan NULL pada kolom tabel yang tidak ada pasangannya.

Contoh Query :

SELECT employees.name, departments.name FROM employees FULL OUTER JOIN departments ON employees.department_id = departments.id;

Hasil : Menggabungkan hasil dari Left Join dan Right Join.

Studi Kasus

Tabel Employees

ID Name Department_ID
1 Alice 101
2 Bob NULL
3 Charlie 102

Tabel Departments

ID Name
101 HR
102 IT
103 Marketing

Cross Join : Menghasilkan 9 baris kombinasi.

Inner Join :

Name Department Name
Alice HR
Charlie IT

Left Join :

Name Department Name
Alice HR
Bob NULL
Charlie IT

Right Join :

Name Department Name
Alice HR
Charlie IT
NULL Marketing

Full Outer Join :

Name Department Name
Alice HR
Bob NULL
Charlie IT
NULL Marketing

Kesimpulan

Join adalah cara yang efisien untuk menggabungkan data dari beberapa tabel. Memilih jenis join tergantung pada kebutuhan data:

  • Gunakan Inner Join untuk data yang memiliki pasangan.
  • Gunakan Outer Join untuk memastikan semua data dari salah satu atau kedua tabel tetap ditampilkan.
  • Hindari Cross Join kecuali benar-benar diperlukan.
SHARE THIS LOG