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

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

Linda Hamilton
Lepaskan: 2025-01-25 15:07:09
asal
660 orang telah melayarinya

How Do INNER, LEFT, RIGHT, and FULL JOINs Differ in SQL?

Pemahaman mendalam tentang SQL JOIN: penjelasan terperinci tentang INNER, KIRI, KANAN dan PENUH JOIN

SQL JOIN ialah operasi teras dalam pengambilan data, membolehkan kami menggabungkan baris daripada berbilang jadual berdasarkan medan biasa. Dalam MySQL, terdapat beberapa jenis JOIN untuk dipilih, masing-masing menyediakan cara khusus untuk mengendalikan padanan dan baris yang tidak sepadan.

Perbezaan antara jenis SQL JOIN yang berbeza

SERTAI DALAM

  • Sertai dua jadual berdasarkan keadaan yang sepadan.
  • Hanya kembalikan baris yang medan sepunya sepadan dalam kedua-dua jadual.

KIRI SERTAI

  • Sertai dua jadual berdasarkan keadaan yang sepadan.
  • Mengembalikan semua baris dari jadual kiri, walaupun tiada baris yang sepadan dalam jadual kanan.
  • Baris tidak sepadan dalam jadual kanan diisi dengan nilai NULL.

KANAN SERTAI

  • Serupa dengan LEFT JOIN, tetapi mengembalikan semua baris dari jadual kanan, walaupun tiada baris yang sepadan dalam jadual kiri.
  • Baris tidak sepadan dalam jadual kiri diisi dengan nilai NULL.

SERTAI PENUH

  • Hasil gabungan KIRI dan KANAN OUTER JOIN.
  • Mengembalikan semua baris daripada kedua-dua jadual, tidak kira sama ada terdapat padanan.
  • Baris tidak sepadan dalam mana-mana jadual diisi dengan nilai NULL.

Kes sebenar

Pertimbangkan jadual contoh berikut:

<code>表A:
| id | firstName | lastName |
|---|---|---|
| 1 | Arun | Prasanth |
| 2 | Ann | Antony |
| 3 | Sruthy | Abc |
| 6 | New | Abc |

表B:
| id2 | age | place |
|---|---|---|
| 1 | 24 | Kerala |
| 2 | 24 | Usa |
| 3 | 25 | Ekm |
| 5 | 24 | Chennai |</code>
Salin selepas log masuk
Salin selepas log masuk

SERTAI DALAM:

<code>SELECT *
FROM 表A
INNER JOIN 表B
ON 表A.id = 表B.id2;</code>
Salin selepas log masuk

Keputusan:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm

KIRI SERTAI:

<code>SELECT *
FROM 表A
LEFT JOIN 表B
ON 表A.id = 表B.id2;</code>
Salin selepas log masuk

Keputusan:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
New Abc NULL NULL

KANAN SERTAI:

<code>SELECT *
FROM 表A
RIGHT JOIN 表B
ON 表A.id = 表B.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

Penuh Sertai:

<code>表A:
| id | firstName | lastName |
|---|---|---|
| 1 | Arun | Prasanth |
| 2 | Ann | Antony |
| 3 | Sruthy | Abc |
| 6 | New | Abc |

表B:
| id2 | age | place |
|---|---|---|
| 1 | 24 | Kerala |
| 2 | 24 | Usa |
| 3 | 25 | Ekm |
| 5 | 24 | Chennai |</code>
Salin selepas log masuk
Salin selepas log masuk
<:> Hasil:

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