Carta Perbandingan
Asas untuk Perbandingan | Left Outer Join | Sertai Luar Tepat | Sertai Luar Penuh |
---|---|---|---|
Asas | Semua tuple dari jadual kiri masih dalam hasilnya. | Semua tuple jadual kanan kekal dalam hasilnya. | Kesemua tupel dari kiri dan jadual kanan kekal dalam hasilnya. |
Sambungan NULL | Tupel meja kiri yang tidak mempunyai tuple padanan dalam jadual kanan dilanjutkan dengan nilai NULL untuk atribut jadual kanan. | Tupel meja kanan yang tidak mempunyai tuple yang sepadan dalam jadual kiri dilanjutkan dengan nilai NULL untuk atribut jadual kiri. | Tupel kiri dan jadual kanan yang tidak mempunyai tupel padanan dalam jadual kanan dan kiri masing-masing dilanjutkan dengan nilai NULL untuk atribut jadual kanan dan kiri. |
Definisi Kehilangan Luar Left
Katakan kita ada, " Table_A Left Outer Join Table_B ". Jadi Table_A adalah jadual kiri kami kerana kelihatan kiri operasi Left Outer Join dan Table_B adalah jadual kanan kami.
Pada mulanya, gabungan dalaman akan diterapkan pada Table_A dan Table_B yang akan mengembalikan semua tuple yang sepadan dari jadual A dan B.
Seterusnya, ia akan mengembalikan semua tupel dari Table_A yang tidak mempunyai tuple yang sepadan dalam Table_B. Seperti itu, tupel yang dihasilkan akan menjadi empuk dengan nilai NULL untuk sifat-sifat jadual yang betul.
Oleh itu, hasil yang diperolehi dari Left Outer Join mengekalkan semua tuple dari meja kiri dan hanya padanan tuple dari meja kanan.
Marilah kita membincangkan Kiri Luar Bergabung dengan contoh; kami mempunyai dua jadual di bawah, Jadual Pelajar dan Jadual Jabatan .
Sekarang, kami akan memohon Sertai Kiri Luar, pada Jadual Pelajar dan Jabatan.
PILIH * DARI KELAYAKAN Pelajar LEFT OUTER JOIN
ON Pelajar. Student_ID = Department.Student_ID
Dalam pertanyaan di atas, jadual Pelajar adalah jadual kiri dan jadual Jabatan adalah jadual yang betul. Oleh itu, menurut Left Outer Join, hasilnya mesti mempunyai semua tupel dari jadual Pelajar, dan hanya tuples yang sepadan dari jadual Jabatan.
Definisi Sertai Luar Tepat
Katakan kita ada, " Table_A Right Outer Join Table_B ". Oleh itu Table_A adalah jadual kiri kami kerana kelihatan kiri dari Operasi Join Outer Right dan Table_B adalah jadual kanan kami.
Seperti di Left Outer Join, pada mulanya, gabungan dalaman akan diterapkan pada Table_A dan Table_B yang akan mengembalikan semua tuple yang sepadan dari jadual A dan B.
Seterusnya, ia akan mengembalikan semua tupel dari Table_B yang tidak mempunyai tuple yang sepadan dalam Table_A. Seperti itu, tupel yang dihasilkan akan menjadi empuk dengan nilai NULL untuk atribut dari jadual kiri.
Oleh itu, hasil yang diperoleh dari bahagian luar kanan mengekalkan semua tuple dari jadual kanan dan hanya tuple yang sepadan dari jadual kiri.
Marilah kita membincangkan Hak Luar Bergabung dengan contoh; di atas kita mempunyai dua jadual, Jadual Pelajar dan Jadual Jabatan.
Sekarang, kami akan menerapkan Sertai Luar Tua ke Meja Pelajar dan Jabatan.
PILIH * DARIPADA PENGARAH KELUARGA KELUARGA KELUARGA
ON Pelajar. Student_ID = Department.Student_ID
Dalam pertanyaan di atas, Jadual Pelajar adalah Jadual Kiri kami dan Jadual Jabatan adalah jadual hak kami. Mengikut operasi Outer Join Right, hasilnya mesti memasukkan semua tuple dari meja Jabatan dan hanya tupel yang sepadan dari Jadual Pelajar.
Definisi gabungan Sepenuh Luar
Katakan kita ada, " Table_A Full Outer Join Table_B ". Jadi Table_A adalah jadual kiri kami kerana kelihatannya kiri operasi Kendali Luar Penuh dan Table_B adalah jadual kanan kami.
Sertai Outer Penuh adalah gabungan kedua-dua, Sertai Left Outer dan Right Outer Join . Pada mulanya, ia memohon pertalian batin di Table_A dan Table_B untuk mengambil semula tupsel yang sepadan dari kedua-dua jadual. Kemudian ia memanjangkan tupel Table_A dengan NULL yang tidak mempunyai tuple padanan dalam Table_B. Selanjutnya, ia memanjangkan tupel dari Table_B dengan NULL yang tidak mempunyai tuple yang sepadan dalam Table_A.
Oleh itu, Full Outer Join mengekalkan semua tuple dari sebelah kiri serta meja kanan, bersama-sama dengan tupel yang sama dari kedua-dua jadual.
Marilah kita berbincang FULL Outer Join dengan contoh; kami mempunyai dua jadual di atas, Jadual Pelajar dan Jadual Jabatan .
Sekarang, kami akan memohon Sertai Penuh Penuh ke jadual Pelajar dan Jabatan.
PILIH * DARIPADA JELAS TINGKATAN Pelajar Penuh OLEH
ON Pelajar. Student_ID = Department.Student_ID
Dalam pertanyaan di atas, Jadual Pelajar adalah jadual kiri kami dan Jadual Jabatan adalah jadual hak kami. Mengikut Sertai Luar Penuh, hasilnya harus mencakup semua tupel dari kedua meja.
Perbezaan Utama Antara Sertai Kiri, Kanan dan Penuh Luar
- Hasil dari Left Outer Join mempunyai semua tuple of left table. Demikian pula, hasil dari Right Outer Join mempunyai semua tuple of the right table. Dan hasil dari Outer Full Join mempunyai semua tupel dari kiri dan kanan meja.
- Dalam Left Outer Join, tuple of left table yang tidak mempunyai tuple yang hampir sama di meja kanan diperpanjang dengan nilai Null untuk sifat-sifat meja yang tepat. Sebaliknya adalah kes bagi Sertai Luar Tepat. Dan dalam Bahagian Luar Penuh, tupel dari jadual kiri dan kanan yang tidak mempunyai tuple padanan di jadual kanan dan kiri masing-masing dilanjutkan dengan NULL untuk atribut jadual kanan dan kiri.
Kesimpulan:
Jaga kedudukan nama jadual dalam pertanyaan. Sebagai kedudukan nama jadual dalam query memutuskan sama ada jadual itu akan dianggap sebagai jadual kiri atau jadual kanan.