Connexion SQL (JOIN)
La jointure SQL est utilisée pour combiner des lignes de deux tables ou plus.
SQL JOIN
La clause SQL JOIN est utilisée pour combiner des lignes de deux ou plusieurs tables en fonction de champs communs entre les tables.
Types de JOIN les plus courants : SQL INNER JOIN (simple JOIN) . SQL INNER JOIN renvoie toutes les lignes de plusieurs tables qui satisfont aux conditions 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 --------+-------+---------+
| 1 | Google https://www.google.cm/ 1 | |
| 2 | Taobao | https://www.taobao.com/ | 13 | CN |
| php Site Web chinois |
| Weibo | http://weibo.com/ |
| | http://stackoverflow.com/ | 0 |
+----+--------------+---------- ---------------+------+---------+
Voici les données de la table d'enregistrement d'accès au site Web "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)
id" dans la colonne "Sites Web " la table pointe vers le champ "site_id" dans la table "access_log". Les deux tableaux ci-dessus sont liés via la colonne "site_id".
Ensuite, si nous exécutons l'instruction SQL suivante (contenant INNER JOIN) :INNER JOIN access_log
ON Websites.id=access_log.site_id;
Différents types de JOIN SQL
Avant de continuer avec des exemples, listons les différents types de JOIN SQL que vous pouvez utiliser :
INNER JOIN : Renvoie les lignes s'il y a au moins une correspondance dans le tableau
LEFT JOIN : Même s'il n'y a pas de correspondance dans le tableau de droite, Renvoie également toutes les lignes
RIGHT JOIN de la table de gauche : renvoie toutes les lignes
de la table de droite même s'il n'y a pas de correspondance dans le tableau de gauche FULL JOIN : Tant qu'il y a une correspondance dans l'un des tableaux, renvoie les lignes