JOIN SQL
- Page précédente Alias SQL
- Page suivante SQL Inner Join
La jointure SQL est utilisée pour interroger des données à partir de deux ou plusieurs tables en fonction de la relation entre les colonnes de ces tables.
Join et Key
Parfois, pour obtenir des résultats complets, nous devons obtenir des résultats de deux ou plus de tables. Nous devons alors exécuter une jointure.
Les tables dans la base de données peuvent être liées entre elles par des clés. Une clé primaire (Primary Key) est une colonne où chaque valeur de la ligne est unique. Dans la table, chaque valeur de la clé primaire est unique. Le but de cela est de lier les données entre les tables sans répéter chaque données de la table.
Veuillez consulter la table "Persons":
Id_P | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
Veuillez noter que la colonne "Id_P" est la clé primaire de la table "Persons". Cela signifie qu'aucune deux lignes ne peuvent avoir la même valeur d'Id_P. Même si les noms de deux personnes sont complètement identiques, l'Id_P peut les distinguer.
Veuillez maintenant consulter la table "Orders":
Id_O | OrderNo | Id_P |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 1 |
4 | 24562 | 1 |
5 | 34764 | 65 |
Veuillez noter que la colonne "Id_O" est la clé primaire de la table "Orders", et la colonne "Id_P" de la table "Orders" est utilisée pour faire référence à la table "Persons" sans utiliser leurs noms exacts.
Veuillez noter que la colonne "Id_P" relie les deux tables ci-dessus.
Référence à deux tables
Nous pouvons obtenir des données de deux tables en nous référant aux deux tables :
Qui a commandé le produit et quel produit ont-ils commandé ?
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P
Jeu de résultats :
LastName | FirstName | OrderNo |
---|---|---|
Adams | John | 22456 |
Adams | John | 24562 |
Carter | Thomas | 77895 |
Carter | Thomas | 44678 |
SQL JOIN - Utilisation de Join
En plus de la méthode ci-dessus, nous pouvons également utiliser le mot-clé JOIN pour obtenir des données de deux tables.
Si nous voulons lister les commandes de toutes les personnes, nous pouvons utiliser la requête SELECT suivante :
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName
Jeu de résultats :
LastName | FirstName | OrderNo |
---|---|---|
Adams | John | 22456 |
Adams | John | 24562 |
Carter | Thomas | 77895 |
Carter | Thomas | 44678 |
Différents JOIN SQL
En plus de l'INNER JOIN (connexion interne) que nous avons utilisé dans les exemples ci-dessus, nous pouvons également utiliser d'autres types de connexions.
Voici une liste des types de JOIN que vous pouvez utiliser, ainsi que leurs différences.
- JOIN: Retourne les lignes si au moins une correspondance est trouvée dans la table
- LEFT JOIN: Retourne toutes les lignes de la table gauche même si il n'y a pas de correspondance dans la table droite
- RIGHT JOIN: Retourne toutes les lignes de la table droite même si il n'y a pas de correspondance dans la table gauche
- FULL JOIN: Retourne les lignes tant que l'une des tables contient une correspondance
- Page précédente Alias SQL
- Page suivante SQL Inner Join