Manuel du didac...SE CONNECTER
Manuel du didacticiel de démarrage SQL
auteur:php.cn  temps de mise à jour:2022-04-12 14:15:40

JOINTURE GAUCHE SQL



Mot-clé SQL LEFT JOIN

Le mot-clé LEFT JOIN renvoie toutes les lignes de la table de gauche (table1) même s'il n'y a aucune correspondance dans la table de droite (table2). S'il n'y a aucune correspondance dans le bon tableau, le résultat est NULL.

Syntaxe SQL LEFT JOIN

SELECT nom_colonne(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

ou :

SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2 .column_name;

Remarque : Dans certaines bases de données, LEFT JOIN est appelé LEFT OUTER JOIN.

SQL LEFT JOIN


Base de données de démonstration

Dans ce tutoriel, nous utiliserons un exemple de base de données php.

Voici les données sélectionnées dans le tableau "Sites Web" :

+----+--------------+-- - --------------+------+---------+
| identifiant | | url                                                              | | États-Unis
| 2 | Taobao | https://www.taobao.com/ | |
| Weibo | http://weibo.com/ |
| | stackoverflow | http://stackoverflow.com/ | 0 |
+----+--------------+--------- - ----------------+------+---------+

Voici les données de la table d'enregistrement d'accès au site Web "access_log" :

mysql> SELECT * FROM access_log;
+-----+------ --- +-------+------------+
| aide site_id | compte date |
+-----+--- --- ---+-------+------------+
| 1 | 45 | 2016-05-10 |
| 3 | 100 | 2016-05-13 |
| 3 | 2016-05-14 |
| 4 | 2016-05-14 |
| | 2016-05-14 |
| 6 | 13 | 2016-05-15 |
| -05 -16 |
| 9 | 201 | 2016-05-17 |
+-----+---------+------+- -- ---------+
9 lignes dans l'ensemble (0,00 sec)

Exemple SQL LEFT JOIN

L'instruction SQL suivante sera renvoie tous les sites Web et leur volume de trafic (le cas échéant).

Dans l'exemple suivant, nous utilisons Websites comme table de gauche et access_log comme table de droite :

Exemple

SELECT Websites.name, access_log.count, access_log.date
À PARTIR DE sites Web
REJOIGNEZ À GAUCHE access_log
SUR Websites.id=access_log.site_id
ORDER BY access_log.count DESC;
Le résultat de l'exécution du SQL ci-dessus est le suivant :

Remarque : LEFT JOIN password Renvoie toutes les lignes de la table de gauche (Sites Web) même s'il n'y a aucune correspondance dans la table de droite (access_log).