5. Full Outer Join
Dalam SQL, FULL OUTER JOIN adalah jenis join yang menggabungkan data dari dua tabel berdasarkan kondisi tertentu, dengan mengembalikan semua baris dari kedua tabel, baik yang memiliki kecocokan maupun yang tidak. Jika tidak ada kecocokan, SQL akan mengisi nilai-nilai kolom yang hilang dengan NULL. Ini memungkinkan kita untuk melihat semua data dari kedua tabel, meskipun tidak ada kesesuaian antara beberapa baris.
Contoh rumusnya hampir sama dengan Full Outer Join
:
Keterangan
- Jika ada kecocokan antara tabel1 dan tabel2 berdasarkan kolom kunci (kolom_kunci), maka SQL akan menampilkan data dari kedua tabel dalam satu baris.
- Jika tidak ada kecocokan di salah satu tabel:
- Baris dari tabel1 yang tidak memiliki pasangan di tabel2 tetap ditampilkan, dengan nilai NULL di kolom tabel2.
- Baris dari tabel2 yang tidak memiliki pasangan di tabel1 juga ditampilkan, dengan nilai NULL di kolom tabel1
Contoh Kasusnya seperti ini:
Terdapat tabel karyawan
Tabel Karyawan
CREATE TABLE Karyawan (
id_karyawan INT PRIMARY KEY,
nama_karyawan VARCHAR(50)
);
INSERT INTO Karyawan (id_karyawan, nama_karyawan) VALUES
(1, 'Andi'),
(2, 'Budi'),
(3, 'Citra');
Hasilnya
id_karyawan | nama_karyawan |
---|---|
1 | Andi |
2 | Budi |
3 | Citra |
Lalu terdapat tabel Proyek :
Tabel Proyek
CREATE TABLE Proyek (
id_proyek INT PRIMARY KEY,
id_karyawan INT,
nama_proyek VARCHAR(50),
FOREIGN KEY (id_karyawan) REFERENCES Karyawan(id_karyawan)
);
INSERT INTO Proyek (id_proyek, id_karyawan, nama_proyek) VALUES
(1, 2, 'Proyek A'),
(2, 4, 'Proyek B');
Hasilnya
id_proyek | id_karyawan | nama_proyek |
---|---|---|
1 | 2 | Proyek A |
2 | 4 | Proyek B |
Jika kita menjalankan Full Quter Join maka bentuk queri nya seperti ini :
Full Quter Join
SELECT *
FROM Karyawan
FULL OUTER JOIN Proyek
ON Karyawan.id_karyawan = Proyek.id_karyawan;
Hasilnya :
id_karyawan | nama_karyawan | id_proyek | id_karyawan | nama_proyek |
---|---|---|---|---|
1 | Andi | NULL | NULL | NULL |
2 | Budi | 1 | 2 | Proyek A |
3 | Citra | NULL | NULL | NULL |
NULL | NULL | 2 | 4 | Proyek B |
Ringkasan
FULL OUTER JOIN
menggabungkan semua data dari kedua tabel.- Mengisi dengan
NULL
jika tidak ada pasangan yang sesuai. - Berguna untuk menampilkan semua data meskipun sebagian tidak memiliki pasangan.