Grafik perbandingan
Dasar untuk Perbandingan | Kiri Luar Gabung | Gabung Luar Kanan | Gabung Luar Penuh |
---|---|---|---|
Dasar | Semua tupel dari tabel kiri tetap di hasil. | Semua tupel dari tabel kanan tetap di hasil. | Semua tupel dari kiri serta meja kanan tetap ada di hasilnya. |
Ekstensi NULL | Tupel tabel kiri yang tidak memiliki tupel yang cocok di tabel kanan diperpanjang dengan nilai NULL untuk atribut dari tabel kanan. | Tupel tabel kanan yang tidak memiliki tupel yang cocok di tabel kiri diperpanjang dengan nilai NULL untuk atribut dari tabel kiri. | Tupel kiri dan tabel kanan yang tidak memiliki tupel yang cocok di tabel kanan dan kiri masing-masing diperpanjang dengan nilai NULL untuk atribut tabel kanan dan kiri. |
Definisi Left Outer Join
Misalkan kita memiliki, " Table_A Left Outer Join Table_B ". Jadi Table_A adalah tabel kiri kita karena tampak di sebelah kiri operasi Outer Outer Join dan Table_B adalah tabel kanan kita.
Awalnya, gabungan dalam akan diterapkan pada Table_A dan Table_B yang akan mengembalikan semua tuple yang cocok dari tabel A dan B.
Selanjutnya, itu akan mengembalikan semua tupel dari Table_A yang tidak memiliki tupel yang cocok di Table_B. Seperti itu, tupel yang dihasilkan akan diisi dengan nilai NULL untuk atribut tabel yang benar.
Oleh karena itu, hasil yang diperoleh dari Left Outer Join mempertahankan semua tupel dari tabel kiri dan hanya tupel yang cocok dari tabel kanan.
Mari kita bahas Left Outer Join dengan sebuah contoh; kami memiliki dua tabel di bawah ini, Tabel Siswa dan Tabel Departemen .
Sekarang, kita akan menerapkan Left Outer Join, di Student and Department Table.
PILIH * DARI LEFT OUTER Mahasiswa GABUNG Departemen
ON Student. Student_ID = Department.Student_ID
Dalam kueri di atas, tabel Siswa adalah tabel kiri dan tabel Departemen adalah tabel kanan. Jadi menurut Left Outer Join, hasilnya harus memiliki semua tuple dari tabel Student, dan hanya tuple yang cocok dari tabel Department.
Definisi Right Outer Join
Misalkan kita memiliki, " Table_A Right Outer Join Table_B ". Jadi Table_A adalah tabel kiri kita karena tampak di sebelah kiri operasi Right Outer Join dan Table_B adalah tabel kanan kita.
Seperti di Left Outer Join, awalnya, inner join akan diterapkan pada Table_A dan Table_B yang akan mengembalikan semua tuple yang cocok dari tabel A dan B.
Selanjutnya, ini akan mengembalikan semua tupel dari Table_B yang tidak memiliki tupel yang cocok di Table_A. Seperti itu, tupel yang dihasilkan akan diisi dengan nilai NULL untuk atribut tabel kiri.
Oleh karena itu, hasil yang diperoleh dari gabungan luar kanan mempertahankan semua tupel dari tabel kanan dan hanya tupel yang cocok dari tabel kiri.
Mari kita bahas Right Outer Join dengan sebuah contoh; di atas kami memiliki dua tabel, Tabel Siswa dan Tabel Departemen.
Sekarang, kita akan menerapkan Right Outer Join ke tabel Student dan tabel Department.
PILIH * DARI GARIS LUAR BAGIAN Mahasiswa
ON Student. Student_ID = Department.Student_ID
Dalam kueri di atas, Tabel Siswa adalah Tabel Kiri kami dan Tabel Departemen adalah tabel kanan kami. Menurut operasi Right Outer Join, hasilnya harus mencakup semua tupel dari tabel Departemen dan hanya tupel yang cocok dari Tabel Siswa.
Definisi Full Outer join
Misalkan kita memiliki, " Table_A Full Outer Join Table_B ". Jadi Table_A adalah tabel kiri kita karena tampak di sebelah kiri dari operasi Full Outer Join dan Table_B adalah tabel kanan kita.
Full Outer Join adalah kombinasi keduanya, Left Outer Join dan Right Outer Join . Awalnya, ini berlaku gabungan internal pada Table_A dan Table_B untuk mengambil tupel yang cocok dari kedua tabel. Kemudian ia memperpanjang tuple dari Table_A dengan NULL yang tidak memiliki tuple yang cocok di Table_B. Lebih jauh, itu memperluas tupel dari Table_B dengan NULL yang tidak memiliki tupel yang cocok di Table_A.
Oleh karena itu, Full Outer Join mempertahankan semua tupel dari kiri serta meja kanan, bersama dengan tupel yang cocok dari kedua tabel.
Mari kita bahas FULL Outer Join dengan sebuah contoh; kami memiliki dua tabel di atas, Tabel Siswa dan Tabel Departemen .
Sekarang, kita akan menerapkan Full Outer Join ke tabel Student dan tabel Department.
PILIH * DARI GABUNGAN LENGKAP Mahasiswa
ON Student. Student_ID = Department.Student_ID
Dalam kueri di atas, Tabel Siswa adalah tabel kiri kami dan Tabel Departemen adalah tabel kanan kami. Menurut Full Outer Join, hasilnya harus mencakup semua tupel dari kedua tabel.
Perbedaan Kunci Antara Kiri, Kanan dan Gabung Luar Penuh
- Hasil dari Left Outer Join memiliki semua tuple dari tabel kiri. Demikian pula, hasil dari Right Outer Join memiliki semua tuple di tabel kanan. Dan hasil dari Full Outer Join memiliki semua tupel dari kiri dan kanan.
- Di Left Outer Join, tupel tabel kiri yang tidak memiliki tupel yang cocok di tabel kanan diperpanjang dengan nilai Null untuk atribut dari tabel kanan. Berlawanan dengan kasus Right Outer Join. Dan di Full Outer Join, tupel dari tabel kiri dan kanan yang tidak memiliki tupel yang cocok di tabel kanan dan kiri masing-masing diperpanjang dengan NULL untuk atribut masing-masing tabel kanan dan kiri.
Kesimpulan:
Jaga posisi nama tabel dalam kueri. Karena posisi nama tabel dalam kueri memutuskan apakah tabel akan dianggap sebagai tabel kiri atau tabel kanan.