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 EXTERNE COMPLÈTE SQL



Mots-clés SQL FULL OUTER JOIN

Mots-clés FULL OUTER JOIN Tant qu'il y a une correspondance dans l'une des tables de gauche (table1) et de droite (table2) , il sera renvoyé Row.

Le mot-clé FULL OUTER JOIN combine les résultats de LEFT JOIN et RIGHT JOIN.

Syntaxe SQL FULL OUTER JOIN

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

SQL FULL OUTER JOIN



Base de données de démonstration

Dans ce tutoriel, nous utiliserons l'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 |
+-----+---------+--- --- -+----------------+
| 1 | 1 | 2016-05-10 |
| 05-13 |
| 3 | 230 | 2016-05-14 |
| 2016-05-14 |
| |
| 6 | 13 | 2016-05-15 |
| 7 | 220 | 2016-05-15 |
| 🎜>| 9 | 3 | 2016 |
+----+-------+------- -----+
9 lignes dans un ensemble (0,00 sec)

Exemple SQL FULL OUTER JOIN

L'instruction SQL suivante sélectionne tous les enregistrements d'accès au site Web.

FULL OUTER JOIN n'est pas pris en charge dans MySQL Vous pouvez tester l'exemple suivant dans SQL Server.

Instance

SELECT Websites.name, access_log.count, access_log.date
À PARTIR DE sites Web
JOINTURE EXTERNE COMPLÈTE access_log
SUR Websites.id=access_log.site_id
ORDER BY access_log.count DESC;

Remarque : Le mot-clé FULL OUTER JOIN renvoie toutes les lignes du tableau de gauche (Sites Web) et du tableau de droite (access_log). S'il y a des lignes dans la table "Sites Web" qui ne correspondent pas dans le "access_log" ou des lignes dans la table "access_log" qui ne correspondent pas dans la table "Sites Web", celles-ci sont également répertoriées.