Heim  >  Artikel  >  Datenbank  >  Der Unterschied zwischen Inner Join, Left Join und Right Join in MySQL

Der Unterschied zwischen Inner Join, Left Join und Right Join in MySQL

下次还敢
下次还敢Original
2024-04-29 04:00:36662Durchsuche

Der Unterschied zwischen Inner Join, Left Join und Right Join in MySQL besteht darin, dass Inner Join nur übereinstimmende Zeilen in beiden Tabellen zurückgibt, während Left Join alle Zeilen der linken Tabelle zurückgibt, einschließlich übereinstimmender rechter Tabellenzeilen, und Right Join die rechte zurückgibt Tabelle Alle Zeilen, einschließlich der passenden linken Tabellenzeilen. Syntax des inneren Joins: SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2; Syntax des linken Joins: SELECT * FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column2; Syntax des rechten Joins: SELE

Der Unterschied zwischen Inner Join, Left Join und Right Join in MySQL

Der Unterschied zwischen Inner Join, Left Join und Right Join in MySQL

Inner JOIN (INNER JOIN)

  • Gibt nur Datensätze mit übereinstimmenden Zeilen in den beiden Tabellen zurück.
  • Datensätze, die nicht übereinstimmen, werden verworfen.

LEFT JOIN

  • Gibt alle Datensätze in der linken Tabelle zurück, auch wenn es in der rechten Tabelle keine passenden Zeilen gibt.
  • Datensätze in der rechten Tabelle, die keine übereinstimmenden Zeilen haben, werden mit NULL-Werten gefüllt.

RIGHT JOIN

  • Gibt alle Datensätze in der rechten Tabelle zurück, auch wenn es in der linken Tabelle keine passenden Zeilen gibt.
  • Datensätze in der linken Tabelle ohne übereinstimmende Zeilen werden mit NULL-Werten gefüllt.

Verwendung

  • Inner Join: Wird verwendet, um Datensätze mit übereinstimmenden Zeilen zwischen zwei Tabellen zu finden und nicht übereinstimmende Datensätze zu verwerfen.
  • Linker Join: Wird verwendet, um alle Datensätze aus der linken Tabelle zu finden und Datensätze aus übereinstimmenden Zeilen in die rechte Tabelle einzubeziehen.
  • Rechter Join: Wird verwendet, um alle Datensätze der rechten Tabelle zu finden und Datensätze übereinstimmender Zeilen in die linke Tabelle einzubeziehen.

Grammatik

  • Innerer Join:

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

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

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

Beispiel

Angenommen, wir haben Folgendes zwei Tabelle:

<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>
  • Inner Join:

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

    Ergebnis:

id Name Adresse
1 John 123 Main St
2 Mary 456 Elm St
  • Linker Link:

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

    Ergebnis:

id Name Adresse
1 John 123 Main St
2 Mary 456 Elm St
3 Bob NULL
  • richtige Verbindung:

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

    Ergebnis:

id Name Adresse
1 John 123 Main. St
2 Mary 456 Elm St
4 NULL 789 Oak St

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Inner Join, Left Join und Right Join in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn