SQL LEFT JOIN Schlüsselwort
SQL LEFT JOIN Schlüsselwort
LEFT JOIN-Schlüsselwort aus der linken Tabelle (Tabelle 1) gibt alle Zeilen zurück, auch wenn es keine Übereinstimmung für die rechte Tabelle (Tabelle 2) in. Wenn es keine Übereinstimmung in der rechten Tabelle ist, ist das Ergebnis NULL.
SQL LEFT JOIN Syntax
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
oder:
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
HINWEIS: In einigen Datenbanken, LEFT JOIN ist LEFT OUTER JOIN bezeichnet.
Die Demo-Datenbank
In diesem Tutorial werden wir w3big Beispieldatenbank verwenden.
Hier finden Sie eine ausgewählte "Websites" Tabellendaten:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3write.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Hier werden die Daten "access_log" Website Zugang Satztabelle:
mysql> SELECT * FROM access_log; +-----+---------+-------+------------+ | aid | site_id | count | date | +-----+---------+-------+------------+ | 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 | +-----+---------+-------+------------+ 9 rows in set (0.00 sec)
SQL LEFT JOIN Beispiele
Die folgende SQL-Anweisung wird wieder alle Standorte und ihre Ansichten (falls vorhanden).
Die folgenden Beispiele für die Webseiten, wie wir die Tabelle, access_log wie die rechte Tabelle links:
Beispiele
von Webseiten
LEFT JOIN access_log
ON Websites.id = access_log.site_id
ORDER BY access_log.count DESC;
Ausführen der obigen SQL Ausgabeergebnisse sind wie folgt:
HINWEIS: LEFT JOIN - Schlüsselwort aus der linken Tabelle (Websites) gibt alle Zeilen zurück, auch wenn es keine Übereinstimmung für die rechte Tabelle (access_log) in.