Rumah  >  Artikel  >  pangkalan data  >  Perbezaan antara inner join, left join dan right join dalam mysql

Perbezaan antara inner join, left join dan right join dalam mysql

下次还敢
下次还敢asal
2024-04-29 04:00:36613semak imbas

Perbezaan antara cantuman dalam, cantuman kiri dan cantuman kanan dalam MySQL ialah: cantuman dalam hanya mengembalikan baris yang sepadan dalam kedua-dua jadual, manakala cantuman kiri mengembalikan semua baris jadual kiri, termasuk baris jadual kanan yang sepadan, dan cantuman kanan mengembalikan baris kanan. jadual Semua baris, termasuk padanan baris jadual kiri. Sintaks sambung dalam: PILIH * DARI jadual1 SERTAI DALAM jadual2 PADA jadual1.lajur1 = sintaks sambung kiri: PILIH * DARI jadual1 SERTAI jadual2 PADA jadual1.lajur1 = sintaks sambung kanan: SELE

Perbezaan antara inner join, left join dan right join dalam mysql

Perbezaan antara join dalam, join kiri dan join kanan dalam MySQL

INNER JOIN

    Hanya rekod dengan baris yang sepadan dalam dua jadual dikembalikan.
  • Rekod yang gagal dipadankan akan dibuang.

LEFT JOIN

    Mengembalikan semua rekod dalam jadual kiri, walaupun tiada baris yang sepadan dalam jadual kanan.
  • Rekod dalam jadual kanan yang tidak mempunyai baris yang sepadan akan diisi dengan nilai NULL.

RIGHT JOIN

    Mengembalikan semua rekod dalam jadual kanan, walaupun tiada baris yang sepadan dalam jadual kiri.
  • Rekod dalam jadual kiri tanpa baris yang sepadan akan diisi dengan nilai NULL.

Penggunaan

  • Inner Join: Digunakan untuk mencari rekod dengan baris yang sepadan antara dua jadual dan buang rekod yang tidak sepadan.
  • Cantum kiri: Digunakan untuk mencari semua rekod dari jadual kiri dan memasukkan rekod daripada baris yang sepadan dalam jadual kanan.
  • Sertai Kanan: Digunakan untuk mencari semua rekod jadual kanan dan memasukkan rekod baris yang sepadan dalam jadual kiri.

Grammar

  • inner Sertai:

    <code class="sql">SELECT *
    FROM table1
    INNER JOIN table2
    ON table1.column1 = table2.column2;</code>
    e
  • left Sertai:

    <code class="sql">SELECT *
    FROM table1
    LEFT JOIN table2
    ON table1.column1 = table2.column2;</code>
    e
  • right Sertai:

    <code class="sql">SELECT *
    FROM table1
    RIGHT JOIN table2
    ON table1.column1 = table2.column2;</code>

example

suppose kami mempunyai perkara berikut dua Meja:

<code>Table1:
| id | name |
|---|---|
| 1 | John |
| 2 | Mary |
| 3 | Bob |

Table2:
| id | address |
|---|---|
| 1 | 123 Main St |
| 2 | 456 Elm St |
| 4 | 789 Oak St |</code>
  • Sambungan dalaman:

    <code class="sql">SELECT *
    FROM Table1
    INNER JOIN Table2
    ON Table1.id = Table2.id;</code>
    Keputusan:

idnama
1 John 123 Jalan Utama
1 alamat
1
  • John

    123 Jalan Utama

    2
Mary StBobNULL Sambungan kanan:
<code class="sql">SELECT *
FROM Table1
LEFT JOIN Table2
ON Table1.id = Table2.id;</code>
idnamaalamat
Keputusan:
  • 123 Jalan Utama

2MaryNULL789 Oak St
456 Elm St 4

Atas ialah kandungan terperinci Perbezaan antara inner join, left join dan right join dalam mysql. 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