Heim > Datenbank > MySQL-Tutorial > Sind „FROM Table1 LEFT JOIN Table2' und „FROM Table2 RIGHT JOIN Table1' immer austauschbar?

Sind „FROM Table1 LEFT JOIN Table2' und „FROM Table2 RIGHT JOIN Table1' immer austauschbar?

DDD
Freigeben: 2025-01-14 15:46:44
Original
803 Leute haben es durchsucht

Are `FROM Table1 LEFT JOIN Table2` and `FROM Table2 RIGHT JOIN Table1` Always Interchangeable?

SQL LEFT JOIN und RIGHT JOIN: Sind sie immer gleichwertig?

SQLs LEFT JOIN- und RIGHT JOIN-Klauseln kombinieren Daten aus zwei Tabellen. Auch wenn sie in manchen Fällen scheinbar austauschbar sind, gibt es einen wesentlichen Unterschied.

Lassen Sie uns zwei Tabellen untersuchen:

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

Bevölkerung Table1:

<code>Id | Name
---|-----
1  | A
2  | B</code>
Nach dem Login kopieren

Und Table2:

<code>Id | Name
---|-----
1  | A
2  | B
3  | C</code>
Nach dem Login kopieren

Die 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 in diesem speziellen Fall identische Ergebnisse. Beide stimmen mit Zeilen überein, die auf Table1.id = Table2.id.

basieren

Denken Sie jedoch an diese Alternative LEFT JOIN:

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

Diese Abfrage gibt alle Zeilen von Table2 zurück, einschließlich derjenigen ohne Übereinstimmungen in Table1. Ein RIGHT JOIN (z. B. FROM Table1 RIGHT JOIN Table2) würde sich umgekehrt verhalten und solche nicht übereinstimmenden Zeilen weglassen.

Während FROM Table1 LEFT JOIN Table2 und FROM Table2 RIGHT JOIN Table1 unter bestimmten Bedingungen zu ähnlichen Ergebnissen führen können, hat die Verbindungsrichtung erheblichen Einfluss auf die Vollständigkeit der Ausgabe. Sie sind nicht universell austauschbar.

Das obige ist der detaillierte Inhalt vonSind „FROM Table1 LEFT JOIN Table2' und „FROM Table2 RIGHT JOIN Table1' immer 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