Les requêtes SQL peuvent devenir complexes lorsqu’il s’agit de manipuler et de calculer des données.
Cela peut entraîner des erreurs et des inefficacités, rendant difficile l’obtention des résultats souhaités.
L’article explore l’utilisation des sous-requêtes SQL, notamment dans la clause FROM, pour optimiser et simplifier vos requêtes.
Appréhendez les fondamentaux du langage SQL pour savoir assimiler ses fonctions standards.
Les sous-requêtes dans la clause FROM vous permettent de traiter le résultat d’une requête comme si c’était une table. Cela est particulièrement utile lorsque vous devez effectuer des calculs ou des filtrages sur un ensemble de données avant de les utiliser dans votre requête principale.
Syntaxe des Sous-Requêtes SQL
SELECT [DISTINCT] {*, [champ1 [AS] alias1, ...]}
FROM (sous_requête);
Explication :
- SELECT :Vous pouvez choisir d’extraire toutes les colonnes (*) ou des colonnes spécifiques.
- DISTINCT :Cette option est utilisée pour éliminer les doublons des résultats.
- FROM (sous_requête) :La sous-requête est exécutée, et son résultat est traité comme une table temporaire à partir de laquelle vous pouvez effectuer d’autres opérations.
Sous-Requête FROM : Exemple Pratique
Dans cet exemple, vous souhaitez récupérer des informations sur les commandes passées par des clients situés en France. Vous utilisez une sous-requête pour filtrer d’abord les clients par pays, puis vous les joignez avec la table des commandes pour obtenir les détails des commandes.
SELECT a.code_client, a.societe, a.pays, b.no_commande, b.date_commande
FROM (SELECT * FROM clients WHERE pays = 'France') AS a
JOIN commandes b ON a.code_client = b.code_client
ORDER BY a.societe;
Explication :
- La sous-requête (SELECT * FROM clients WHERE pays = ‘France’) AS a récupère tous les clients dont le pays est la France et les traite comme une table temporaire nommée a.
- Ensuite, vous effectuez une jointure avec la table commandes (b) sur la colonne code_client.
- La requête principale sélectionne le code client, le nom de la société, le pays, le numéro de commande et la date de commande des clients situés en France, et trie les résultats par le nom de la société.
Résultat affiché :
Après l’exécution de cette requête, vous obtiendrez une liste des commandes passées par des clients français.
Récapitulatif des Sous-Requêtes SQL
Dans ce dernier axe, nous allons passer en revue les différents types de sous-requêtes et vous proposer des exercices pratiques pour renforcer votre compréhension et votre maîtrise de ce concept essentiel en SQL.
Objectifs :
- Rappel des différents types de sous-requêtes :Sous-requêtes monolignes :Ces sous-requêtes retournent un seul résultat et peuvent être utilisées avec des opérateurs de comparaison (comme =, >, <, etc.).Sous-requêtes multilignes :Ces sous-requêtes retournent plusieurs résultats et peuvent être utilisées avec les opérateurs IN, NOT IN, EXISTS, etc.Sous-requêtes dans la clause FROM :Ces sous-requêtes permettent de traiter le résultat d’une requête comme si c’était une table, ce qui est utile pour des calculs ou des filtrages.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment utiliser une sous-requête dans la clause FROM ?
Quels sont les types de sous-requêtes en SQL ?
Quels sont les avantages des sous-requêtes SQL ?
Comment éviter les erreurs courantes avec les sous-requêtes ?
Quel est l'impact des sous-requêtes sur la performance SQL ?
Conclusion
Les sous-requêtes sont un outil puissant pour structurer et simplifier vos requêtes SQL. Quelle technique de sous-requête allez-vous explorer pour améliorer vos analyses de données SQL ?