Sous-requêtes, partie 1
Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 38 sur 72.
Les sous-requêtes nous permettent de combiner plusieurs requêtes en une seule. Par exemple, considérez la table <strong>employees</strong> suivante :
| id | salaire |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
| 4 | 13 |
| 5 | 28 |
Nous avons besoin d’une sous-requête, car nous ne pouvons pas utiliser directement WHERE salary > AVG(salary), puisque les fonctions d’agrégation comme AVG() ne peuvent pas être utilisées dans une clause WHERE — elles peuvent uniquement être utilisées après le regroupement des données.
SELECT id, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);Une sous-requête nous aide à trouver les employés qui gagnent plus que le salaire moyen de l’entreprise en calculant d’abord la moyenne (requête interne), puis en utilisant cette valeur pour filtrer les employés (requête externe).
Puisque la moyenne est : (48 + 34 + 46 + 13 + 28) / 5 = 33.8, voici le résultat de la requête :
| id | salaire |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
Défi
FacileTables et colonnes disponibles :
shop:price,quantity,category,list_date
Écrivez une requête pour trouver tous les articles (sélectionnez toutes les colonnes) dont le prix est supérieur au prix moyen de tous les articles.
Utilisez une sous-requête dans la clause WHERE pour calculer le prix moyen, puis comparez le prix de chaque article à cette moyenne.
Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les fondamentaux
1Introduction
IntroductionQu’est-ce qu’une base de donnéesConcepts des bases de donnéesValeurs uniques4D’autres mots-clés
Le mot-clé INLe mot-clé BETWEENLe mot-clé LIKELe mot-clé ASRécapitulatif - Modèles de téléphones portables2Conditions
Bases des conditionsLe mot-clé ANDLe mot-clé ORLe mot-clé NOTCombinaison de plusieurs conditionsParenthèsesBooléens5Opérations arithmétiques
Opérateurs mathématiquesColonnes mathématiquesL’opération moduloLa fonction ROUND()3Format de retour spécifique
Valeurs NULLTrier les résultats, partie 1Trier les résultats, partie 2Récapitulatif - Entreprise de cybersécuritéLimiter le nombre d’enregistrementsRécapitulatif - Usine de véhicules6Défis d’introduction
Récapitulatif - Élection parlementaireRécapitulatif - Arrestation criminelle par la policeRécapitulatif - Récipient de boisson au barRécapitulatif - Ingénieur de nouvelles colonnes9Tables multiples
Jointure de base, partie 1Jointure de base, partie 2Récapitulatif - JointureAuto-jointureRécapitulatif - Auto-jointureUnionSimplifier les requêtes, mot-clé WITHRécapitulatif - Requêtes WITHRécapitulatif - Entrepreneur immobilier12Fonctions de fenêtre – partie 2
Fonctions RANK & DENSE_RANKRécapitulatif – RANK & DENSE_RANKFonction NTILEFonctions d’agrégationCritère ROWS & RANGEEntraînez-vous par vous-même : Playground SQL