Rumah  >  Artikel  >  pangkalan data  >  Apakah pertanyaan sambungan MySQL

Apakah pertanyaan sambungan MySQL

王林
王林ke hadapan
2023-05-30 23:50:421392semak imbas

Inner JOIN

  • 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

Cambungan semula jadi dan sama. joins Perbezaan antara value join

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

Apakah pertanyaan sambungan MySQL

Jadual bbb:

Apakah pertanyaan sambungan MySQL

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:

Apakah pertanyaan sambungan MySQL

Pertanyaan sertai semula jadi:

-- 自然连接用关键字 natural join
SELECT*from aaa natural join bbb;

Hasil:

Apakah pertanyaan sambungan MySQL

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 melaksanakan inner join

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

Sambungan luar

  • 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.

Kiri sertai

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

Apakah pertanyaan sambungan MySQL

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 pertanyaan sambungan MySQL

Campur kanan

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

Apakah pertanyaan sambungan MySQL

Pelaksanaan kod:

select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

Keputusan:

Apakah pertanyaan sambungan MySQL

Cantum penuh

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.

Apakah pertanyaan sambungan MySQL

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:

Apakah pertanyaan sambungan MySQL

Atas ialah kandungan terperinci Apakah pertanyaan sambungan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam