OUTER JOIN DATABASE


Outer join adalah jenis join dalam SQL yang menggabungkan dua tabel berdasarkan nilai kunci, tetapi mengembalikan semua baris dari setidaknya satu tabel, bahkan jika tidak ada korespondensi dalam tabel lain. Ada tiga jenis outer join: left outer join, right outer join, dan full outer join.

Berikut adalah referensi dan contoh command untuk masing-masing jenis outer join:

1.Left Outer Join
Left outer join mengembalikan semua baris dari tabel di sebelah kiri dari join dan hanya baris yang cocok dari tabel di sebelah kanan. Jika tidak ada korespondensi di tabel kanan, NULL akan dikembalikan.
Contoh:

Output dari perintah SQL di atas akan menampilkan semua kolom dari tabel_kiri dan tabel_kanan yang memiliki nilai kunci yang sama di kolom_kunci. Jika ada nilai kunci yang tidak memiliki korespondensi di tabel_kanan, maka kolom-kolom dari tabel_kanan akan ditampilkan dengan nilai NULL.

Contoh output:

2.Right Outer Join
Right outer join mengembalikan semua baris dari tabel di sebelah kanan dari join dan hanya baris yang cocok dari tabel di sebelah kiri. Jika tidak ada korespondensi di tabel kiri, NULL akan dikembalikan.
Contoh:

Output: Semua baris dari tabel_kanan ditampilkan, dan baris yang cocok dari tabel_kiri juga ditampilkan. Jika tidak ada korespondensi di tabel_kiri, nilai NULL akan ditampilkan.

Contoh, jika kita memiliki tabel karyawan (tabel_kiri) dan tabel gaji (tabel_kanan), dengan kolom kunci yang sama yaitu id_karyawan, maka output dari query tersebut dapat terlihat seperti ini:

3.Full Outer Join
Full outer join mengembalikan semua baris dari kedua tabel. Jika tidak ada korespondensi, nilai NULL akan dikembalikan.
Contoh:
Output dari perintah SQL di atas akan menampilkan semua baris dari tabel_kiri dan tabel_kanan, dan nilai NULL akan ditampilkan jika tidak ada korespondensi di salah satu tabel. Contoh output mungkin terlihat seperti ini:

Dalam contoh di atas, ada empat baris hasil, mewakili kombinasi dari kedua tabel. Baris pertama menunjukkan bahwa ada korespondensi antara kolom_kunci di kedua tabel dan nilai-nilai lainnya. Baris kedua menunjukkan bahwa ada baris di tabel_kiri yang tidak memiliki korespondensi di tabel_kanan, sehingga nilai NULL ditampilkan untuk kolom-kolom di tabel_kanan. Baris ketiga menunjukkan kebalikan dari baris kedua, yaitu ada baris di tabel_kanan yang tidak memiliki korespondensi di tabel_kiri. Baris keempat menunjukkan bahwa ada baris di kedua tabel yang tidak memiliki korespondensi di tabel lainnya, sehingga nilai NULL ditampilkan untuk semua kolom.

Komentar