Heim > Datenbank > MySQL-Tutorial > Was sind die Unterschiede zwischen inneren, linken, rechten und äußeren SQL-Joins?

Was sind die Unterschiede zwischen inneren, linken, rechten und äußeren SQL-Joins?

Patricia Arquette
Freigeben: 2025-01-09 17:16:42
Original
797 Leute haben es durchsucht

What are the Differences Between Inner, Left, Right, and Outer SQL Joins?

Umfassendes Verständnis der Nuancen von SQL JOIN

SQL JOIN spielt eine wichtige Rolle bei der Datenverarbeitung und -aggregation. Unter den verschiedenen JOIN-Typen werden innerer JOIN (INNER JOIN), linker äußerer JOIN (LEFT OUTER JOIN), rechter äußerer JOIN (RIGHT OUTER JOIN) und vollständiger äußerer JOIN (FULL OUTER JOIN) häufig verwendet, um Daten aus mehreren Tabellen basierend auf bestimmten Daten zu kombinieren Bedingungen.

INNER JOIN (INNER JOIN)

Inner JOIN ruft nur Zeilen aus zwei oder mehr Tabellen ab, bei denen die Verbindungsspalten übereinstimmen. Es werden nur Zeilen berücksichtigt, die in beiden Tabellen übereinstimmen, wodurch alle nicht übereinstimmenden Zeilen effektiv herausgefiltert werden.

ÄUSSERER JOIN (OUTER JOIN)

Verwenden Sie äußere JOIN, wenn Sie alle Zeilen aus einer Tabelle einschließen möchten, unabhängig davon, ob sie mit Zeilen in einer anderen Tabelle übereinstimmen. Es gibt drei Arten von externen JOINs:

  • LEFT OUTER JOIN: Enthält alle Zeilen aus der linken Tabelle und alle passenden Zeilen aus der rechten Tabelle. Nicht übereinstimmende Zeilen in der linken Tabelle werden mit NULL-Werten gefüllt.
  • RIGHT OUTER JOIN: Ähnlich wie left OUTER JOIN, schließt aber alle Zeilen aus der rechten Tabelle und alle passenden Zeilen aus der linken Tabelle ein. Nicht übereinstimmende Zeilen in der rechten Tabelle werden mit NULL-Werten gefüllt.
  • FULL OUTER JOIN: Enthält alle Zeilen aus der linken und rechten Tabelle. Wenn auf einer Seite eine Übereinstimmung vorliegt, wird die übereinstimmende Zeile angezeigt. Wenn keine Übereinstimmung vorliegt, wird sie mit NULL-Werten gefüllt.

Beispiel

Betrachten Sie das Beispiel im Artikel:

表1 (Customers) 表2 (Orders)
ID Name ID Customer ID Order Date
1 John 1 1 2023-01-01
2 Mary 2 1 2023-01-02
3 Tom 3 2 2023-01-03
4 Alice 4 3 2023-01-04

Der innere JOIN gibt nur Zeilen zurück, in denen die Kunden-ID in beiden Tabellen übereinstimmt:

Customer ID Name Order Date
1 John 2023-01-01
1 John 2023-01-02

Leistungshinweise

Die JOIN-Leistung hängt von verschiedenen Faktoren ab, darunter der Größe und Komplexität der Tabelle, dem verwendeten Abfrageoptimierer und der Datenbank-Engine. Im Allgemeinen sind innere JOINs effizienter, da sie nicht übereinstimmende Zeilen herausfiltern. Externe JOINs können ressourcenintensiver sein, insbesondere wenn es sich um große Tabellen mit wenigen Übereinstimmungen handelt. Die Auswahl des geeigneten JOIN-Typs ist für die Optimierung von Datenbankabfragen von entscheidender Bedeutung.

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen inneren, linken, rechten und äußeren SQL-Joins?. 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