Cette instruction est utilisée pour récupérer les champs de plusieurs tables. Pour ce faire, nous devons utiliser une requête de jointure pour obtenir les données de plusieurs tables.
Voyons l'exemple de la sélection parmi plusieurs tables :
SELECT orders.order_id, suppliers.name FROM suppliers INNER JOIN orders ON suppliers.supplier_id = orders.supplier_id ORDER BY order_id;
Prenons trois tables, deux tables de clients nommées customer1 et customer2 et la troisième table est la table des produits.
Tableau Client1
ID_cus | Nom1 |
---|---|
1 | Jack |
2 | Jill |
Tableau Client2
ID_cus | Nom2 |
---|---|
1 | Sablonneux |
2 | Vénus |
Tableau des produits
P_id | ID_cus | P_nom |
---|---|---|
1 | 1 | Ordinateur portable |
2 | 2 | Téléphone |
3 | P1 | Stylo |
4 | P2 | Carnet de notes |
Exemple de syntaxe pour sélectionner parmi plusieurs tables :
SELECT p. p_id, p.cus_id, p.p_name, c1.name1, c2.name2 FROM product AS p LEFT JOIN customer1 AS c1 ON p.cus_id=c1.cus_id LEFT JOIN customer2 AS c2 ON p.cus_id = c2.cus_id
P_id | ID_cus | P_nom | P_nom | P_nom |
---|---|---|---|---|
1 | 1 | Ordinateur portable | Jack | NUL |
2 | 2 | Téléphone | Jill | NUL |
3 | P1 | Stylo | NUL | Sablonneux |
4 | P2 | Carnet de notes | NUL | Vénus |