Rumah > pangkalan data > tutorial mysql > Bagaimanakah gabungan dalaman, kiri, kanan, dan penuh berbeza dalam MySQL?

Bagaimanakah gabungan dalaman, kiri, kanan, dan penuh berbeza dalam MySQL?

Patricia Arquette
Lepaskan: 2025-01-25 15:12:11
asal
311 orang telah melayarinya

How Do INNER, LEFT, RIGHT, and FULL Joins Differ in MySQL?

Pemahaman mendalam tentang perbezaan antara jenis MySQL JOIN

Klausa JOIN MySQL membolehkan anda menggabungkan data daripada berbilang jadual dengan memadankan nilai medan biasa. Terdapat beberapa jenis JOIN yang tersedia bergantung pada kes penggunaan:

SERTAI DALAM (sambungan dalaman)

INNER JOIN mengembalikan baris hanya jika terdapat padanan dalam kedua-dua jadual. Ia menjalankan operasi persimpangan yang ditetapkan dan mendapatkan semula rekod kepunyaan kedua-dua jadual.

KIRI JOIN (kiri sertai)

LEFT JOIN mengembalikan semua baris dalam jadual kiri tanpa mengira sama ada terdapat padanan di jadual kanan. Ia mengisi padanan yang hilang dalam jadual yang betul dengan nilai NULL.

KANAN SERTAI (kanan sertai)

RIGHT JOIN adalah serupa dengan LEFT JOIN, tetapi ia mengembalikan semua baris dari jadual kanan dan bukannya semua baris dari jadual kiri. Begitu juga, nilai NULL digunakan untuk mewakili padanan yang hilang dalam jadual kiri.

SERTAI PENUH (sambungan penuh)

FULL JOIN menggabungkan hasil gabungan luar KIRI dan KANAN, mengembalikan semua baris dalam kedua-dua jadual. Mana-mana baris yang tidak sepadan dari mana-mana jadual akan diisi dengan nilai NULL.

Contoh

Pertimbangkan dua jadual, JadualA dan JadualB, yang mengandungi data berikut:

<code>**TableA**
| id | firstName | lastName |
|---|---|---|
| 1 | arun | prasanth |
| 2 | ann | antony |
| 3 | sruthy | abc |

**TableB**
| id2 | age | Place |
|---|---|---|
| 1 | 24 | kerala |
| 2 | 24 | usa |
| 3 | 25 | ekm |
| 5 | 24 | chennai |</code>
Salin selepas log masuk

Contoh INNER JOIN

<code class="language-sql">SELECT *
FROM TableA
INNER JOIN TableB
ON TableA.id = TableB.id2;</code>
Salin selepas log masuk

Keputusan:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm

contoh SERTAI KIRI

<code class="language-sql">SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.id = TableB.id2;</code>
Salin selepas log masuk

Keputusan:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm

Contoh JOIN KANAN

<code class="language-sql">SELECT *
FROM TableA
RIGHT JOIN TableB
ON TableA.id = TableB.id2;</code>
Salin selepas log masuk

Keputusan:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm
NULL NULL 24 chennai

Contoh sertai penuh (MySQL tidak menyokong pekerjaan penuh langsung, anda perlu menggunakan kesatuan untuk mensimulasikan)

MySQL tidak menyokong gabungan penuh secara langsung.

LEFT JOIN melalui contoh -contoh di atas, perbezaan antara jenis gabungan yang berbeza dalam penggabungan data dapat dilihat dengan jelas. Memilih jenis gabungan yang sesuai adalah penting untuk mendapatkan data yang diperlukan dengan cekap. RIGHT JOIN

Atas ialah kandungan terperinci Bagaimanakah gabungan dalaman, kiri, kanan, dan penuh berbeza dalam MySQL?. 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