3. Left Join
LEFT JOIN
dalam SQL adalah jenis join yang menggabungkan dua tabel berdasarkan kondisi yang diberikan dan mengembalikan semua baris dari tabel kiri (left table), serta baris yang cocok dari tabel kanan (right table). Jika tidak ada kecocokan dari tabel kanan, maka nilai yang dikembalikan untuk kolom dari tabel kanan tersebut adalah NULL
Contoh rumusnya hampir sama dengan inner join
:
Contoh Kasusnya seperti ini:
Terdapat tabel pelanggan
CREATE TABLE pelanggan (
id_pelanggan INT PRIMARY KEY,
nama VARCHAR(100) NOT NULL
);
INSERT INTO pelanggan (id_pelanggan, nama)
VALUES
(1, 'Andi'),
(2, 'Budi'),
(3, 'Citra');
Hasilnya
id_pelanggan | nama |
---|---|
1 | Andi |
2 | Budi |
3 | Citra |
Lalu terdapat tabel pesanan :
CREATE TABLE pesanan (
id_pesanan INT PRIMARY KEY,
id_pelanggan INT,
produk VARCHAR(100) NOT NULL,
FOREIGN KEY (id_pelanggan) REFERENCES pelanggan(id_pelanggan)
);
INSERT INTO pesanan (id_pesanan, id_pelanggan, produk)
VALUES
(101, 1, 'Laptop'),
(102, 1, 'Smartphone'),
(103, 3, 'Headphone');
Hasilnya :
id_pesanan | id_pelanggan | produk |
---|---|---|
101 | 1 | Laptop |
102 | 1 | Smartphone |
103 | 3 | Headphone |
Jika kita ingin mendapatkan daftar semua pelanggan beserta pesanannya (jika ada), kita bisa menggunakan LEFT JOIN:
SELECT pelanggan.nama, pesanan.produk
FROM pelanggan
LEFT JOIN pesanan
ON pelanggan.id_pelanggan = pesanan.id_pelanggan;
Hasilnya :
nama | produk |
---|---|
Andi | Laptop |
Andi | Smartphone |
Budi | NULL |
Citra | Headphone |
LEFT JOIN biasanya digunakan dalam situasi di mana kita ingin menampilkan semua data dari satu tabel (tabel kiri), bahkan jika tidak ada kecocokan di tabel lain (tabel kanan). Ini sangat berguna ketika kita ingin mendapatkan informasi yang lengkap dari tabel utama dan menampilkan informasi terkait dari tabel kedua, tanpa kehilangan data dari tabel utama meskipun tidak ada pasangan datanya di tabel kedua.