Menu
Coddy logo textTech

Subqueries Part 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 :

idsalary
148
234
346
413
528

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 ne peuvent être utilisées qu'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).

Comme la moyenne est : (48 + 34 + 46 + 13 + 28) / 5 = 33.8, c'est le résultat de la requête :

idsalary
148
234
346
challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • <strong>shop</strong> : <strong>price</strong>, <strong>quantity</strong>, <strong>category</strong>, <strong>list_date</strong>

Écrivez une requête pour trouver tous les articles (sélectionnez toutes les colonnes) dont le prix (price) 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

quiz iconTestez-vous

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