Connaissance de base SQL Connexion V2-JOIN

Colonne SQL

Résumé des connaissances de base de la base de données SQL

Résumé des connaissances avancées de la base de données SQL

Le rôle de la
connexion JOIN Connexion JOIN est utilisé pour combiner des lignes de deux ou plusieurs tables, en fonction des champs communs entre ces tables.

Le type le plus courant de JOIN: INNER JOIN (simple JOIN). INNER JOIN renvoie toutes les lignes satisfaisant aux conditions JOIN de plusieurs tables.

Exemple de base de données

Regardons les données sélectionnées dans le tableau "Commandes":

Connaissance de base SQL Connexion V2-JOIN

Ensuite, regardez les données sélectionnées dans le tableau "Clients":

Connaissance de base SQL Connexion V2-JOIN

Notez que la colonne "ID client" dans la table "Commandes" pointe vers l'ID client dans la table "Clients". Les deux tableaux ci-dessus sont connectés via la colonne "ID client".

JOIN instance
Nous voulons savoir qui a commandé chaque ID de commande et l'heure de commande spécifique. Nous exécutons l'instruction SQL suivante (y compris INNER JOIN):

SELECT o.订单ID, c.姓名, o.订单日期
FROM Orders o
INNER JOIN Customers c
ON o.客户ID=c.客户ID;

Les résultats de l'opération sont les suivants:

Connaissance de base SQL Connexion V2-JOIN

Différentes JOINs
Avant de continuer à expliquer les exemples, nous listons d'abord les différents types SQL JOIN que vous pouvez utiliser:

  • INNER JOIN: S'il y a au moins une correspondance dans le tableau, retourne les lignes

  • JOINT GAUCHE: même s'il n'y a pas de correspondance dans la table de droite, toutes les lignes sont renvoyées à partir de la table de gauche

  • JOINDRE DROITE: même s'il n'y a pas de correspondance dans la table de gauche, toutes les lignes sont renvoyées à partir de la table de droite

  • FULL JOIN: Tant qu'il y a une correspondance dans l'une des tables, la ligne est retournée

JOINTURE INTERNE

Le mot-clé du lien interne INNER JOIN sélectionne les enregistrements avec des valeurs correspondantes dans les deux tables.

SQL INNER JOIN 语法
SELECT nom_colonne (s) FROM table1
INNER JOIN table2 ON
table1.colonne_nom = table2.colonne_nom;

Remarque: INNER JOIN et JOIN sont identiques, l'exemple ci-dessus est INNER JOIN

Connaissance de base SQL Connexion V2-JOIN

LEFT JOIN
Lien gauche SQL Le mot clé LEFT JOIN renvoie toutes les lignes de la table de gauche (table 1), même s'il n'y a pas de correspondance dans la table de droite (table 2). S'il n'y a pas de correspondance dans la table correcte, le résultat est NULL.

SQL LEFT JOIN 语法
SELECT nom_colonne (s)
FROM table1
LEFT JOIN table2
ON table1.colonne_nom = table2.colonne_nom;

ou:

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

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

Connaissance de base SQL Connexion V2-JOIN

Exemple de jointure à gauche

Nous voulons voir si tous les utilisateurs de la table Clients ont passé des commandes, nous pouvons utiliser le langage de requête suivant:


SELECT c.姓名,o.订单ID,  o.订单日期
FROM Customers c
LEFT JOIN Orders o
ON o.客户ID=c.客户ID;

résultat:
Connaissance de base SQL Connexion V2-JOIN

Nous avons constaté que Liu Er, Li Si et Zhao Qi n'avaient pas d'ID de commande et de dates de commande correspondants car ils n'existaient pas dans le tableau des commandes et ne correspondaient pas à leurs informations. Mais comme il s'agit d'une connexion gauche, toutes les informations de la table principale Clients sont affichées, ce qui correspond à table1 dans la figure ci-dessus.

JOINDRE DROIT

Le mot clé SQL right link RIGHT JOIN renvoie toutes les lignes de la table de droite (table2), même s'il n'y a pas de correspondance sur la table de gauche (table1). Si la table de gauche ne correspond pas, le résultat est NULL.

SQL RIGHT JOIN 语法
SELECT nom_colonne (s) FROM table1
RIGHT JOIN table2 ON
table1.colonne_nom = table2.nom_colonne;

Remarque: dans certaines bases de données, RIGHT JOIN est appelé RIGHT OUTER JOIN.

Connaissance de base SQL Connexion V2-JOIN

Le tableau principal de la connexion de droite et de la connexion de gauche est juste l'opposé, et les données de la table2 seront affichées complètement, s'il n'y a pas de correspondance dans la table1, elles ne seront pas affichées.

FULL OUTER JOIN
Lorsque les enregistrements de la table de gauche (table 1) ou de droite (table 2) correspondent, le mot clé FULL OUTER JOIN renverra tous les enregistrements.
Remarque: FULL OUTER JOIN peut renvoyer un jeu de résultats très volumineux!

SQL FULL OUTER JOIN 语法
SELECT nom (s) colonne (s) FROM table1
FULL OUTER JOIN table2 ON
table1.column_name = table2.column_name;

Connaissance de base SQL Connexion V2-JOIN

La connexion complète consiste à afficher complètement le contenu de table1 et table2, qu'il y ait une correspondance ou non.

annotation

JOIN occupe une place importante dans SQL. Grâce à JOIN, nous pouvons associer deux ou plusieurs tables avec des relations correspondantes pour obtenir les données souhaitées. Le mode d'association est également plus flexible, le plus couramment utilisé est INNER JOIN, assurez-vous de le maîtriser.

Je suppose que tu aimes

Origine blog.51cto.com/15057820/2656354
conseillé
Classement