Heim > Datenbank > MySQL-Tutorial > Wie unterscheiden sich INNER-, LEFT-, RIGHT- und FULL-JOINs in SQL?

Wie unterscheiden sich INNER-, LEFT-, RIGHT- und FULL-JOINs in SQL?

Linda Hamilton
Freigeben: 2025-01-25 15:07:09
Original
662 Leute haben es durchsucht

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

Umfassendes Verständnis von SQL JOIN: detaillierte Erklärung von INNER, LEFT, RIGHT und FULL JOIN

SQL JOIN ist eine Kernoperation beim Datenabruf, die es uns ermöglicht, Zeilen aus mehreren Tabellen basierend auf gemeinsamen Feldern zu kombinieren. In MySQL stehen mehrere JOIN-Typen zur Auswahl, von denen jeder eine bestimmte Möglichkeit bietet, übereinstimmende und nicht übereinstimmende Zeilen zu verarbeiten.

Unterschiede zwischen verschiedenen SQL JOIN-Typen

INNER JOIN

  • Verbinden Sie zwei Tabellen basierend auf übereinstimmenden Bedingungen.
  • Es werden nur Zeilen zurückgegeben, deren gemeinsame Felder in beiden Tabellen übereinstimmen.

LINKS BEITRETEN

  • Verbinden Sie zwei Tabellen basierend auf übereinstimmenden Bedingungen.
  • Gibt alle Zeilen aus der linken Tabelle zurück, auch wenn es in der rechten Tabelle keine passenden Zeilen gibt.
  • Nicht übereinstimmende Zeilen in der rechten Tabelle werden mit NULL-Werten gefüllt.

RECHTS BEITRETEN

  • Ähnlich wie LEFT JOIN, gibt aber alle Zeilen aus der rechten Tabelle zurück, auch wenn es in der linken Tabelle keine passenden Zeilen gibt.
  • Nicht übereinstimmende Zeilen in der linken Tabelle werden mit NULL-Werten gefüllt.

VOLLSTÄNDIGE BEITRETUNG

  • Das Ergebnis der Kombination von LEFT und RIGHT OUTER JOIN.
  • Gibt alle Zeilen aus beiden Tabellen zurück, unabhängig davon, ob eine Übereinstimmung vorliegt.
  • Nicht übereinstimmende Zeilen in beiden Tabellen werden mit NULL-Werten gefüllt.

Eigentlicher Fall

Betrachten Sie die folgende Beispieltabelle:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

INNER JOIN:

<code>SELECT *
FROM 表A
INNER JOIN 表B
ON 表A.id = 表B.id2;</code>
Nach dem Login kopieren

Ergebnis:

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

LINKS BEITRETEN:

<code>SELECT *
FROM 表A
LEFT JOIN 表B
ON 表A.id = 表B.id2;</code>
Nach dem Login kopieren

Ergebnis:

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

RECHTS BEITRETEN:

<code>SELECT *
FROM 表A
RIGHT JOIN 表B
ON 表A.id = 表B.id2;</code>
Nach dem Login kopieren

Ergebnis:

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

VOLLSTÄNDIGE BEITRETUNG:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Ergebnis:

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

Das obige ist der detaillierte Inhalt vonWie unterscheiden sich INNER-, LEFT-, RIGHT- und FULL-JOINs in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage