Join : Outer Join

Pengertian Outer Join

Outer join merupakan salah satu jenis operasi join dalam SQL yang digunakan untuk menggabungkan dua atau lebih tabel berdasarkan kolom-kolom yang sama. Namun, yang membedakan outer join dengan jenis join lainnya adalah outer join juga memasukkan baris-baris yang tidak memiliki pasangan dari satu tabel ke dalam hasil join. Terdapat dua jenis outer join, yaitu left outer join dan right outer join.

Left outer join mengambil seluruh baris dari tabel yang berada di sebelah kiri operasi join (disebut sebagai tabel pertama) serta baris-baris dari tabel di sebelah kanan operasi join (disebut sebagai tabel kedua) yang memiliki nilai pasangan di kolom yang sama dengan baris pada tabel pertama. Baris-baris dari tabel kedua yang tidak memiliki pasangan di tabel pertama juga akan dimasukkan ke dalam hasil join dengan nilai NULL pada kolom-kolom dari tabel pertama. Dengan kata lain, left outer join memasukkan seluruh data dari tabel pertama dan beberapa data dari tabel kedua.

Sedangkan right outer join merupakan kebalikan dari left outer join, yaitu mengambil seluruh baris dari tabel kedua serta baris-baris dari tabel pertama yang memiliki nilai pasangan di kolom yang sama dengan baris pada tabel kedua. Baris-baris dari tabel pertama yang tidak memiliki pasangan di tabel kedua juga akan dimasukkan ke dalam hasil join dengan nilai NULL pada kolom-kolom dari tabel kedua. Dengan kata lain, right outer join memasukkan seluruh data dari tabel kedua dan beberapa data dari tabel pertama. Outer join sering digunakan untuk mengekstrak data dari dua tabel yang memiliki keterkaitan, sehingga memungkinkan untuk memperoleh data yang lengkap meskipun tidak seluruhnya memiliki pasangan di tabel lain.

Fungsi Outer Join

Fungsi outer join adalah untuk menggabungkan dua atau lebih tabel berdasarkan kolom yang sama, dan memasukkan seluruh baris dari salah satu tabel dan beberapa baris dari tabel lainnya ke dalam hasil join. Outer join dapat memasukkan baris-baris yang tidak memiliki pasangan di tabel lainnya, sehingga memungkinkan untuk mendapatkan data yang lengkap meskipun tidak seluruhnya memiliki pasangan di tabel lain.

Contoh Penggunaan Outer Join

Berikut contoh left outer join dan right outer join antara dua tabel yaitu "tb_kelas" dan "tb_guru" dengan menggunakan kolom "id_wali_kelas" pada tabel "tb_kelas" sebagai foreign key dan "id_guru" pada tabel "tb_guru" sebagai primary key sebagai berikut:

Tabel tb_kelas:






Tabel tb_guru:






Berikut adalah command untuk melakukan left outer join:


Dan ini adalah output dari command diatas:


Pada contoh tersebut, digunakan left outer join antara tabel tb_kelas dan tb_guru dengan menghubungkan field id_wali_kelas dari tabel tb_kelas dengan field id_guru dari tabel tb_guru. Dalam hasil join, seluruh data dari tabel tb_kelas akan tetap dimasukkan ke dalam hasil, sedangkan data dari tabel tb_guru akan dimasukkan apabila terdapat pasangan nilai id_wali_kelas pada tabel tb_kelas yang sama dengan nilai id_guru pada tabel tb_guru. Jika tidak terdapat pasangan nilai tersebut, maka nilai pada kolom fullname akan berupa NULL.


Berikut adalah command untuk melakukan right outer join:



Dan ini adalah output dari command diatas:


Dalam contoh di atas, kita melakukan right outer join antara tb_guru dan tb_kelas dengan mengambil semua baris dari tb_kelas dan mencocokkannya dengan baris yang cocok dari tb_guru berdasarkan field id_wali_kelas dan id_guru. Hasilnya adalah tabel gabungan yang mencakup semua baris dari tb_kelas dan hanya baris yang cocok dari tb_guru. Jika tidak ada baris yang cocok di tb_guru untuk suatu baris di tb_kelas, maka nilainya akan ditampilkan sebagai NULL.






Sekian dari saya, terima kasih.
Peserta Program Beasiswa 2022/2023

Komentar

Postingan populer dari blog ini

SQL : Data Manipulation Language

Sejarah Linux

Structured Query Language