Heim > Datenbank > MySQL-Tutorial > Wann sind LEFT JOIN- und RIGHT JOIN-Abfragen in SQL austauschbar?

Wann sind LEFT JOIN- und RIGHT JOIN-Abfragen in SQL austauschbar?

DDD
Freigeben: 2025-01-14 16:02:42
Original
1005 Leute haben es durchsucht

When Are LEFT JOIN and RIGHT JOIN Queries Interchangeable in SQL?

SQLs LEFT JOIN und RIGHT JOIN: Wann sind sie gleichwertig?

LEFT JOIN und RIGHT JOIN in SQL führen Zeilen aus zwei Tabellen basierend auf übereinstimmenden Werten zusammen. Obwohl sie funktional ähnlich sind, gibt es einen wesentlichen Unterschied.

Lassen Sie uns veranschaulichen:

<code class="language-sql">CREATE TABLE Table1 (id INT, Name VARCHAR(10));
CREATE TABLE Table2 (id INT, Name VARCHAR(10));

INSERT INTO Table1 (id, Name) VALUES
(1, 'A'),
(2, 'B');

INSERT INTO Table2 (id, Name) VALUES
(1, 'A'),
(2, 'B'),
(3, 'C');</code>
Nach dem Login kopieren

Diese Abfragen:

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

SELECT *
FROM Table2
RIGHT JOIN Table1 ON Table1.id = Table2.id;</code>
Nach dem Login kopieren

erzielen identische Ergebnisse. Beide gleichen Zeilen von Table1 mit entsprechenden Zeilen in Table2 ab, indem Sie das Feld id verwenden. LEFT JOIN schließt alle Zeilen von Table1 ein, während RIGHT JOIN dasselbe für Table2 tut.

Bedenken Sie jedoch Folgendes:

<code class="language-sql">SELECT *
FROM Table2
LEFT JOIN Table1 ON Table1.id = Table2.id;</code>
Nach dem Login kopieren

oder das Äquivalent:

<code class="language-sql">SELECT *
FROM Table1
RIGHT JOIN Table2 ON Table1.id = Table2.id;</code>
Nach dem Login kopieren

Die Ausgabe ist unterschiedlich. Dies gibt alle Zeilen von Table2 sowie alle passenden Zeilen von Table1 zurück. Dies ist ein „äußerer Join“, bei dem Zeilen aus einer Tabelle einbezogen werden, auch wenn in der anderen keine Übereinstimmungen vorhanden sind. Der Schlüssel liegt darin, dass die Bezeichnung links oder rechts vorgibt, welche Tabellenzeilen garantiert vollständig in die Ergebnismenge einbezogen werden, unabhängig von übereinstimmenden Zeilen in der anderen Tabelle. Daher führt ein einfacher Austausch von Tabellen in der Abfrage nicht immer zum gleichen Ergebnis. Die Austauschbarkeit hängt ganz von den Daten und dem gewünschten Ergebnis ab.

Das obige ist der detaillierte Inhalt vonWann sind LEFT JOIN- und RIGHT JOIN-Abfragen in SQL austauschbar?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage