Rumah > pangkalan data > tutorial mysql > Inner vs. Outer bergabung: Apa perbezaannya?

Inner vs. Outer bergabung: Apa perbezaannya?

Susan Sarandon
Lepaskan: 2025-01-25 17:47:11
asal
386 orang telah melayarinya

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

Pemahaman mendalam tentang perbezaan antara cantuman dalam dan cantuman luar

Pernyataan gabungan ialah teras dalam operasi pangkalan data, yang membolehkan kami menggabungkan data daripada berbilang jadual berdasarkan keadaan tertentu. Adalah penting untuk memahami jenis cantuman yang berbeza, dengan cantuman dalam dan cantuman luar menjadi dua kategori utama.

Perbezaan antara sambung dalam dan sambung luar

Inner join hanya mengembalikan rekod yang memenuhi syarat join. Ia serupa dengan persilangan dua set, menghasilkan hanya elemen yang terdapat dalam kedua-dua set. Gabungan luar, sebaliknya, akan mengembalikan semua rekod dari satu atau kedua-dua jadual, walaupun mereka tidak mempunyai rekod yang sepadan dalam jadual yang lain. Ini serupa dengan penyatuan dua set, termasuk elemen biasa dan unik dalam setiap set.

Variasi sambungan luar

Terdapat tiga jenis sambungan luar utama:

  • LEFT JOIN: Menyimpan semua rekod dari jadual kiri (A) dan termasuk rekod yang sepadan dari jadual kanan (B). Nilai dalam B yang tidak sepadan dengan rekod akan diberikan NULL.
  • KANAN SERTAI: Sama seperti LEFT JOIN, tetapi memberi keutamaan kepada rekod dari jadual kanan (B). Nilai dalam A yang tidak sepadan dengan rekod akan diberikan NULL.
  • SERTAI PENUH: Menggabungkan semua rekod daripada dua jadual (A dan B). Rekod yang tidak mempunyai rekod yang sepadan dalam jadual lain akan diberikan nilai NULL.

Contoh menggunakan set data ringkas

Pertimbangkan borang berikut:

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

Sambungan dalaman:

<code class="language-sql">SELECT * FROM A INNER JOIN B ON A.a = B.b;</code>
Salin selepas log masuk

Output:

a b
3 3
4 4

Cantum luar kiri:

<code class="language-sql">SELECT * FROM A LEFT JOIN B ON A.a = B.b;</code>
Salin selepas log masuk

Output:

a b
1 NULL
2 NULL
3 3
4 4

Sambungan luar kanan:

<code class="language-sql">SELECT * FROM A RIGHT JOIN B ON A.a = B.b;</code>
Salin selepas log masuk

Output:

a b
3 3
4 4
NULL 5
NULL 6

Sambungan luar penuh:

<code class="language-sql">SELECT * FROM A FULL OUTER JOIN B ON A.a = B.b;</code>
Salin selepas log masuk

Output:

a b
1 NULL
2 NULL
3 3
4 4
NULL 5
NULL 6

Dengan memahami perbezaan antara cantuman dalaman dan luaran, pembangun boleh memanipulasi data dengan berkesan dan mengekstrak perhubungan bermakna daripada berbilang jadual.

Atas ialah kandungan terperinci Inner vs. Outer bergabung: Apa perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan