Heim >Datenbank >MySQL-Tutorial >So verwenden Sie Full Join...on... in MySQL
Die meisten Entwickler sind möglicherweise verwirrt darüber, warum meine SQL-Anweisungen falsch sind, egal wie ich sie schreibe.
Es ist sehr einfach, da der vollständige Join von … keine MySQL-Datenbank unterstützt, sondern nur Oracle-Datenbanken.
Beginnen wir ohne weitere Umschweife einfach mit dem Beispiel.
select a.* FROM (select table1.*,table2.* from table1 left JOIN table2 on table1.id=table2 .tid <-- 用左外连接 --> UNION <-- 通过UNION来链接 --> select table1.*,table2.* from table1 right JOIN table2 on table1.id=table2 .tid) as a <-- 用右外连接 --> where a.id = #{id} <-- 如果要根据条件查询,必须要把上面括号里的当做子查询,条件必须写在外面 --> ORDER BY id <-- 其它操作跟在后面 -->
Fühlt es sich nicht sehr einfach an, aber für Anfänger kann das lange Zeit ein Kampf sein, also ist es hier vorbei.
(1) Innerer Join
select * from user1 a INNER JOIN user2 b on a.id=b.id
INNER JOIN Der innere Join zeigt die Schnittmenge zwischen den beiden Tabellen, d SQL-Anweisung) =b.id) Informationen.
(2) Left Join/Left Outer Join der JOIN-Verbindung (LEFT JOIN/LEFT OUTER JOIN)
select * from user1 a LEFT JOIN user2 b on a.id=b.id
Der Left Join fragt alle Informationen der linken Tabelle und die Informationen ab, die die Abfragebedingungen erfüllen (z. B. a .id oben) =b.id, also die Informationen in der linken und rechten Tabelle, die die zugehörigen Abfragebedingungen erfüllen) zwei Teile.
(3) RIGHT JOIN/RIGHT OUTER JOIN der JOIN-Verbindung
select * from user1 a RIGHTJOIN user2 b on a.id=b.id
Der rechte Join fragt alle Informationen der rechten Tabelle auf der rechten Seite von RIGHT JOIN sowie der linken und rechten Seite ab, die die zugehörigen Abfragebedingungen erfüllen ( Das ist die Bedingung a.id=b.id oben).
(4) Vollständiger Join (vollständiger Join …on…)0f80052dcf0d54f3eaa0c691eafd2a8a
select * from user1 a FULL JOIN user2 b on a.id=b.id
full Der äußere Join ist eigentlich eine Sammlung von linken und rechten Joins, was bedeutet, dass alle Daten in der linken und rechten Tabelle abgefragt werden.
(5) Cross-Join (Cross-Join...)
select * from user1 a CROSS JOIN user2 b on a.id=b.id
Cross-Join, auch als kartesisches Produkt bekannt, die Anzahl der von der Abfrage zurückgegebenen Zeilen entspricht dem Produkt der Anzahl der Zeilen in den beiden Tabellen .
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Full Join...on... in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!