SQL LEFT JOIN les mots-clés
SQL LEFT JOIN les mots-clés
LEFT JOIN mot-clé de la table de gauche (table1) retourne toutes les lignes, même s'il n'y a pas de match pour la table de droite (table2) dans. S'il n'y a pas de correspondance dans la table de droite, le résultat est NULL.
Syntaxe SQL LEFT JOIN
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
Ou:
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
NOTE: Dans certaines bases, LEFT JOIN est appelé LEFT OUTER JOIN.
La base de données de démonstration
Dans ce tutoriel, nous allons utiliser la base de données de l'échantillon w3big.
Ce qui suit est un «Sites Web» sélectionnés de données de la table:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3big.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Voici les données "access_log" table d'enregistrement d'accès du site:
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 exemples
L'instruction SQL suivante retourne tous les sites et leurs points de vue (le cas échéant).
Les exemples suivants des sites Web que nous avons quitté la table, access_log comme la table de droite:
Exemples
à partir de sites internet
LEFT JOIN access_log
ON Websites.id = access_log.site_id
ORDER BY access_log.count DESC;
Exécutez le SQL ci-dessus des résultats de sortie sont les suivantes:
NOTE: LEFT JOIN mot - clé de la table gauche (sites Internet) renvoie toutes les lignes, même s'il n'y a pas de match pour la table de droite (access_log) dans.