Daftar Isi
Perbedaan Inner Join dan Left Join
Pengenalan
Dalam pemrograman database, penggabungan atau join adalah proses menggabungkan dua atau lebih tabel dalam database berdasarkan kolom yang memiliki nilai yang cocok. Inner join dan left join merupakan dua jenis join yang umum digunakan dalam SQL. Dalam artikel ini, kita akan membahas perbedaan antara inner join dan left join.
Inner Join
Inner join menggabungkan baris dari dua tabel berdasarkan kondisi yang ditentukan, dan hanya menghasilkan baris yang memiliki nilai yang cocok di kedua tabel. Dalam inner join, jika tidak ada nilai yang cocok antara kedua tabel, baris tersebut tidak akan dimasukkan dalam hasil join.
Left Join
Left join, juga dikenal sebagai left outer join, menggabungkan baris dari dua tabel berdasarkan kondisi yang ditentukan, dan menghasilkan semua baris dari tabel kiri (left table) dan hanya baris yang cocok dari tabel kanan (right table). Jika tidak ada nilai yang cocok antara kedua tabel, baris tersebut akan tetap dimasukkan dalam hasil join dengan nilai NULL untuk kolom dari tabel kanan.
Perbedaan
Perbedaan utama antara inner join dan left join terletak pada hasil join yang dihasilkan ketika tidak ada nilai yang cocok antara kedua tabel. Dalam inner join, baris tersebut tidak akan dimasukkan dalam hasil join, sedangkan dalam left join, baris dari tabel kiri akan tetap dimasukkan dalam hasil join.
Dalam inner join, hanya baris yang memiliki nilai yang cocok di kedua tabel yang dimasukkan dalam hasil join. Ini berarti bahwa jika ada baris dengan nilai yang cocok di satu tabel tetapi tidak ada di tabel lain, baris tersebut tidak akan dimasukkan dalam hasil join.
Sebagai contoh, jika kita memiliki dua tabel pelanggan dan pesanan, dengan kolom id_pelanggan sebagai kolom kunci di tabel pelanggan dan kolom id_pelanggan sebagai kolom kunci di tabel pesanan, inner join akan menghasilkan hanya baris yang memiliki nilai yang cocok di kedua tabel, yaitu baris yang memiliki id_pelanggan yang sama di kedua tabel.
Dalam left join, semua baris dari tabel kiri akan tetap dimasukkan dalam hasil join, bahkan jika tidak ada nilai yang cocok di tabel kanan. Ini berarti bahwa jika ada baris dengan nilai yang cocok di satu tabel tetapi tidak ada di tabel lain, baris tersebut akan tetap dimasukkan dalam hasil join dengan nilai NULL untuk kolom dari tabel kanan.
Sebagai contoh, menggunakan contoh sebelumnya, left join akan menghasilkan semua baris dari tabel pelanggan dan hanya baris yang memiliki id_pelanggan yang cocok di tabel pesanan. Jika ada pelanggan yang belum pernah melakukan pesanan, baris tersebut akan tetap dimasukkan dalam hasil join dengan nilai NULL untuk kolom dari tabel pesanan.
Kesimpulan
Dalam kesimpulan, perbedaan utama antara inner join dan left join adalah bahwa dalam inner join hanya baris yang memiliki nilai yang cocok di kedua tabel yang dimasukkan dalam hasil join, sedangkan dalam left join semua baris dari tabel kiri akan tetap dimasukkan dalam hasil join, bahkan jika tidak ada nilai yang cocok di tabel kanan.