Rumah >pangkalan data >tutorial mysql >Gabungan Dalam vs. Luar dalam SQL: Apakah Perbezaannya?

Gabungan Dalam vs. Luar dalam SQL: Apakah Perbezaannya?

Linda Hamilton
Linda Hamiltonasal
2025-01-25 17:33:11748semak imbas

Inner vs. Outer Joins in SQL: What's the Difference?

Membedah Anatomi Cantuman Dalam dan Luar

Walaupun gabungan SQL menyediakan mekanisme yang berkuasa untuk menggabungkan set data, nuansa antara cantuman dalaman dan luaran boleh menjadi misteri. Artikel ini menyelidiki ciri-cirinya yang tersendiri, melengkapkan anda dengan pemahaman yang menyeluruh tentang jenis cantuman ini.

Cambungan Dalam: Menyilang Diagram Venn

Cambungan dalam, seperti namanya, memfokuskan pada persamaan antara dua jadual, A dan B. Ia mendapatkan semula baris yang berkongsi nilai padanan dalam keadaan cantuman. Bayangkan gambar rajah Venn di mana A dan B mewakili bulatan: cantuman dalam menyampaikan data yang terletak dalam bahagian bulatan yang bertindih.

Cambung Luar: Menyatukan Rajah Venn

Berbeza dengan dalam cantuman, cantuman luar merangkul kesatuan jadual yang terlibat. Mereka berusaha untuk mendapatkan semula semua baris daripada sekurang-kurangnya satu jadual, tidak kira sama ada terdapat baris yang sepadan dalam jadual lain. Set data yang terhasil menyerupai keseluruhan kawasan yang diliputi oleh bahagian rajah Venn yang bertindih dan tidak bertindih.

Varian Cantuman Luar: KIRI, KANAN dan PENUH

Untuk memperhalusi lagi konsep gabungan luar, SQL menawarkan tiga varian:

  • Kiri luar join: Join ini mengutamakan pengambilan semula semua baris dari jadual kiri (A). Untuk padanan yang tiada dalam jadual kanan (B), ia menggunakan nilai nol untuk mewakili ruang kosong.
  • Cambung luar kanan: Sama seperti cantuman luar kiri, tetapi cantuman ini memberi keutamaan kepada jadual kanan (B), mengisi nol untuk baris yang tidak sepadan dalam jadual kiri (A).
  • Penuh cantuman luar: Cantuman ini merangkumi semua baris daripada kedua-dua jadual, menggunakan null untuk mana-mana baris yang tidak sepadan dalam sama ada A atau B.

Melukis dengan Contoh

Untuk mengukuhkan anda pemahaman, mari kita pertimbangkan contoh dengan dua jadual A dan B, masing-masing dengan satu lajur:

A B
1 3
2 4
3 5
4 6

Sambungan dalaman:

SELECT * FROM A INNER JOIN B ON A.A = B.B;

Output:

A B
3 3
4 4

Kiri luar sertai:

SELECT * FROM A LEFT OUTER JOIN B ON A.A = B.B;

Output:

A B
1 null
2 null
3 3
4 4

Sambungan luar kanan:

SELECT * FROM A RIGHT OUTER JOIN B ON A.A = B.B;

Output:

A B
3 3
4 4
null 5
null 6

Penuh luar bergabung:

SELECT * FROM A INNER JOIN B ON A.A = B.B;

output:

A B
1 null
2 null
3 3
4 4
null 5
null 6

Memahami pelbagai jenis gabungan dan kes penggunaannya adalah penting untuk mengekstrak dan menggabungkan dengan berkesan dan menggabungkan dengan berkesan dan menggabungkan dengan berkesan dan menggabungkan data dari pelbagai sumber. Jadi pada masa akan datang anda bekerja dengan pangkalan data, ingat perbezaan antara gabungan dalaman dan luaran, dan memanfaatkan kuasa mereka untuk membuat pertanyaan yang tepat dan bermaklumat.

Atas ialah kandungan terperinci Gabungan Dalam vs. Luar dalam SQL: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn