Utilisation des Sous-Requêtes Internes dans la Section FROM
Une sous-requête interne crée une table avec laquelle nous effectuons ensuite des opérations dans la requête externe.
De cela, nous pouvons conclure que nous pouvons également utiliser une requête interne dans la section FROM pour sélectionner des données à partir de cette table.
Considérons un exemple où il est nécessaire de travailler avec les employees dont le salary est supérieur à une certaine valeur. Mais au lieu d'utiliser une clause WHERE, nous utiliserons une requête interne :
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Nous avons créé une nouvelle table à l'aide d'une sous-requête interne avec laquelle il est possible de travailler et de collecter des informations.
Remarque
Remarquez que pour une telle table, il est essentiel de fournir un alias.
Dans quels cas cela peut-il être utile ?
Une telle requête est très lisible ; parfois, elle peut remplacer une clause WHERE.
De plus, si vous devez travailler non pas avec la table entière mais seulement avec une partie filtrée, une sous-requête interne dans la section FROM peut s’avérer extrêmement pratique.
Swipe to start coding
Votre tâche consiste à récupérer le budget moyen (colonne budget) pour tous les départements de gestion à partir de la table department. Utilisez une sous-requête interne dans la section FROM pour filtrer uniquement les départements de type gestion. Utilisez également l'alias manager_departments pour cette table afin que la tâche soit vérifiée correctement.
La réponse ne doit comporter qu'une seule colonne, average_budget. Il s'agit d'un alias pour la fonction d'agrégation AVG().
Remarque
Cette tâche pourrait également être réalisée à l'aide d'une clause
WHERE, mais nous utilisons ici une requête imbriquée pour s'exercer à cette syntaxe, ce qui sera utile pour résoudre des problèmes plus complexes à l'avenir.
Instructions brèves
- Récupérer la valeur moyenne de la colonne
budget. - Attribuer l'alias
average_budgetà cette colonne. - Dans la clause
FROM, écrire une requête imbriquée. - Dans la requête imbriquée, sélectionner toutes les colonnes de la table
department. - Dans la requête imbriquée, utiliser la clause
WHEREavec la conditiontype = 'manager'. - Attribuer l'alias
manager_departmentsà la requête imbriquée.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you give more examples of using inner subqueries in the FROM clause?
When should I use an inner subquery instead of a WHERE clause?
What are some common mistakes to avoid when using subqueries in the FROM clause?
Génial!
Completion taux amélioré à 4
Utilisation des Sous-Requêtes Internes dans la Section FROM
Glissez pour afficher le menu
Une sous-requête interne crée une table avec laquelle nous effectuons ensuite des opérations dans la requête externe.
De cela, nous pouvons conclure que nous pouvons également utiliser une requête interne dans la section FROM pour sélectionner des données à partir de cette table.
Considérons un exemple où il est nécessaire de travailler avec les employees dont le salary est supérieur à une certaine valeur. Mais au lieu d'utiliser une clause WHERE, nous utiliserons une requête interne :
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Nous avons créé une nouvelle table à l'aide d'une sous-requête interne avec laquelle il est possible de travailler et de collecter des informations.
Remarque
Remarquez que pour une telle table, il est essentiel de fournir un alias.
Dans quels cas cela peut-il être utile ?
Une telle requête est très lisible ; parfois, elle peut remplacer une clause WHERE.
De plus, si vous devez travailler non pas avec la table entière mais seulement avec une partie filtrée, une sous-requête interne dans la section FROM peut s’avérer extrêmement pratique.
Swipe to start coding
Votre tâche consiste à récupérer le budget moyen (colonne budget) pour tous les départements de gestion à partir de la table department. Utilisez une sous-requête interne dans la section FROM pour filtrer uniquement les départements de type gestion. Utilisez également l'alias manager_departments pour cette table afin que la tâche soit vérifiée correctement.
La réponse ne doit comporter qu'une seule colonne, average_budget. Il s'agit d'un alias pour la fonction d'agrégation AVG().
Remarque
Cette tâche pourrait également être réalisée à l'aide d'une clause
WHERE, mais nous utilisons ici une requête imbriquée pour s'exercer à cette syntaxe, ce qui sera utile pour résoudre des problèmes plus complexes à l'avenir.
Instructions brèves
- Récupérer la valeur moyenne de la colonne
budget. - Attribuer l'alias
average_budgetà cette colonne. - Dans la clause
FROM, écrire une requête imbriquée. - Dans la requête imbriquée, sélectionner toutes les colonnes de la table
department. - Dans la requête imbriquée, utiliser la clause
WHEREavec la conditiontype = 'manager'. - Attribuer l'alias
manager_departmentsà la requête imbriquée.
Solution
Merci pour vos commentaires !
single