Heim >Datenbank >MySQL-Tutorial >So verwenden Sie Full Join...on... in MySQL

So verwenden Sie Full Join...on... in MySQL

王林
王林nach vorne
2023-05-26 17:52:472999Durchsuche

    Verwendung von 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.

    Welche Arten von Join-Verbindungen gibt es in MySQL?

    Welche Arten von Joins gibt es?

    (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!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen