Dalam SQL, a menyertai digunakan untuk membandingkan dan menggabungkan - secara literal menyertai - dan mengembalikan baris tertentu data dari dua atau lebih jadual dalam pangkalan data. An dalam batin mencari dan mengembalikan data yang hampir sama dari jadual, sementara satu bahagian luar mencari dan mengembalikan data yang sepadan dan beberapa data berbeza dari jadual.
Gabungan batin memberi tumpuan kepada kesamaan antara dua jadual. Apabila menggunakan gabungan dalaman, mesti ada sekurang-kurangnya beberapa data yang hampir sama antara dua (atau lebih) jadual yang sedang dibandingkan. Melampirkan jadual carian untuk data padanan atau tumpang tindih. Apabila mencari, gabungan dalaman menggabungkan dan mengembalikan maklumat ke dalam satu jadual baru.
Mari kita pertimbangkan satu senario biasa dua jadual: harga dan kuantiti produk. Maklumat biasa dalam dua jadual adalah nama produk, jadi lajur logik untuk menyertai jadual pada. Terdapat beberapa produk yang lazim dalam kedua-dua jadual; yang lain adalah unik untuk salah satu jadual dan tidak mempunyai perlawanan dalam jadual lain.
Sambungan dalaman Produk mengembalikan maklumat tentang hanya produk yang biasa di kedua-dua jadual.
Sambungan luar mengembalikan satu set rekod (atau baris) yang merangkumi apa yang ada dalam batin akan kembali tetapi juga termasuk baris lain yang tidak ada padanan yang sama di dalam jadual lain.
Terdapat tiga jenis kelebihan luar:
Setiap gabungan luar merujuk kepada bahagian data yang sedang dibanding, digabungkan, dan dikembalikan. Kadang-kadang batal akan dihasilkan dalam proses ini kerana sesetengah data dikongsi sementara data lain tidak.
Satu bahagian luar kiri akan mengembalikan semua data dalam Jadual 1 dan semua data yang dikongsi (jadi, bahagian dalaman contoh gambarajah Venn), tetapi hanya data yang sepadan dari Jadual 2, yang merupakan hak kanan.
Dalam pangkalan data contoh kami, terdapat dua produk - oren dan tomato - di 'kiri' (Harga jadual) yang tidak mempunyai entri yang sepadan pada 'kanan' (jadual kuantiti). Di sebelah kiri, baris ini dimasukkan ke dalam keputusan yang ditetapkan dengan NULL dalam lajur Kuantiti. Baris yang lain dalam hasilnya adalah sama dengan gabungan dalaman.
Sambungan luar kanan mengembalikan data Jadual 2 dan semua data yang dikongsi, tetapi hanya data yang sepadan dari Jadual 1, yang merupakan gabungan kiri.
Sama seperti contoh menyertai kiri, keluaran gabungan luar kanan merangkumi semua baris gabungan dalaman dan dua baris - brokoli dan squash - dari 'kanan' (Kuantiti jadual) yang tidak mempunyai entri sepadan di sebelah kiri.
Sambungan luar penuh, atau gabungan penuh, iaitu tidak disokong oleh sistem pengurusan pangkalan data MySQL yang popular, menggabungkan dan mengembalikan semua data dari dua atau lebih jadual, tidak kira sama ada terdapat maklumat yang dikongsi. Fikirkan gabungan penuh kerana hanya menduplikasi semua maklumat yang ditentukan, tetapi dalam satu jadual, bukannya beberapa jadual. Jika data padanan hilang, batal akan dihasilkan.
Ini hanya asas, tetapi banyak perkara boleh dilakukan dengan bergabung. Terdapat juga gabungan yang boleh menolak pengecualian lain!
Video ini menerangkan perbezaan antara pelbagai jenis gabungan. Ia bersesuaian untuk bermula pada titik di mana perbincangan mengenai bergabung bermula.