Inner JOIN ialah operasi sambungan yang paling biasa digunakan. Diterangkan dalam istilah matematik, ayat ini boleh ditulis semula sebagai: Dari perspektif teori set, kita memerlukan persilangan dua set dan dari perspektif produk Cartesian, kita perlu menapis elemen produk Cartesian yang memenuhi syarat ON.
Pada pendapat saya, cantuman dalaman adalah serupa dengan cantuman semulajadi ialah cantuman istimewa dalam cantuman dalaman
Apakah itu natural join?
Cambungan semula jadi ialah cantuman khas yang setara. Ia memerlukan komponen yang hendak dibandingkan dalam dua perhubungan mestilah kumpulan atribut yang sama, dan pendua disertakan dalam hasil lajur atribut dikeluarkan.
Apakah equijoin?
Equijoin ialah kaedah sambungan biasa bagi operasi hubungan-gabungan operasi. Ia ialah kes khas sambungan bersyarat (atau θ sambungan) apabila operator sambungan ialah "=", iaitu, apabila θ=0
Contoh analisis:
Jadual aaa
Jadual bbb:
Soal data dengan atribut yang sama C B D dalam jadual aaa dan jadual bbb
Pertanyaan Equijoin:
SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E
Keputusan:
Pertanyaan sertai semula jadi:
-- 自然连接用关键字 natural join SELECT*from aaa natural join bbb;
Hasil:
Daripada dua keputusan di atas, dapat disimpulkan bahawa equijoin memilih data tertentu dengan nilai yang sama dari persilangan dua jadual. Gabungan semula jadi merujuk kepada mengambil data dengan atribut yang sama dan nilai atribut yang sama dalam dua jadual dan menghapuskan lajur atribut yang sama ini.
Cara pertama: di mana
SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E
Cara kedua: inner join
select*from aaa inner join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;
Cara ketiga: join
select*from aaa join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;
Yang keempat: STRAIGHT_JOIN
select*from aaa STRAIGHT_JOIN bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;
Tiga yang terakhir mempunyai kesan yang sama, dan yang ketiga boleh difahami sebagai singkatan yang kedua. Perbezaan utama antara jenis keempat dan kedua ialah kaedah sisipan Prestasi jenis keempat adalah lebih rendah sedikit
Terdapat tiga jenis sambung luar. : sambung luar kiri , sambung luar kanan, sambung luar penuh. Anda boleh menggunakan cantuman kiri, cantuman kanan dan cantuman penuh dalam pernyataan SQL untuk mencapai fungsi ini.
Apakah itu penyertaan kiri?
LEFT JOIN bermaksud mengambil persilangan jadual A dan jadual B, dan memasukkan data yang tinggal dalam jadual kiri. Masih dari perspektif produk Cartesian, kita perlu terlebih dahulu memilih rekod yang memenuhi syarat klausa ON, dan kemudian menambah rekod yang tinggal dalam jadual kiri A
Pelaksanaan kod:
select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;
Keputusan:
Apakah itu cantuman kiri?
Begitu juga, RIGHT JOIN adalah bersamaan dengan mendapatkan persilangan jadual A dan jadual B, ditambah dengan baki data jadual B. Apabila menerangkan gabungan yang betul, anda boleh bermula dari perspektif produk Cartesian, iaitu, pilih rekod yang memenuhi syarat ON dan tambah rekod yang tidak dipilih dalam jadual yang betul
Pelaksanaan kod:
select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;
Keputusan:
Caburan luar penuh adalah untuk mencari dua jadual A Penyatuan set B. Dari perspektif produk Cartesian, ia adalah untuk memilih rekod yang keadaan klausa ON adalah benar daripada produk Cartesian, kemudian menambah rekod yang tinggal dalam jadual kiri, dan akhirnya menambah rekod yang tinggal dalam jadual kanan. Selain itu, MySQL tidak menyokong OUTER JOIN, tetapi kami boleh melaksanakan operasi UNION pada hasil gabungan kiri dan kanan.
Pelaksanaan kod:
select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E union select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E
Hasil:
Atas ialah kandungan terperinci Apakah pertanyaan sambungan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!