Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Requêtes Imbriquées | Sous-Requêtes Imbriquées
SQL Intermédiaire
course content

Contenu du cours

SQL Intermédiaire

SQL Intermédiaire

1. Grouping
2. Sous-Requêtes Imbriquées
3. Joindre des Tables
4. DDL et DML en SQL

book
Requêtes Imbriquées

La direction de l'école est ravie de nos récentes réussites et est impatiente d'aller de l'avant.

Alors qu'ils commencent leurs vacances d'été, nous avons l'opportunité de découvrir de nouvelles méthodes et d'améliorer nos compétences en SQL.

Notre objectif sera centré sur les requêtes imbriquées, un concept clé en SQL.

Regardons un exemple tiré de la base de données de notre entreprise. À mesure que l'entreprise se développe, nous avons ajouté une nouvelle table department. Cela modifie le fonctionnement de notre base de données.

Examinons la structure de la nouvelle table pour comprendre son rôle dans notre base de données:

La nouvelle table contient des départements, leurs types et leurs budgets. Et dans la table employee, comme vous vous en souvenez peut-être, il y a des informations sur le département auquel chaque employé appartient.

Considérons un exemple où nous utilisons des requêtes imbriquées pour récupérer les employés qui travaillent dans des départements avec des budgets de 500 000 dollars ou moins :

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Nous utilisons une clause WHERE pour spécifier que le nom du département doit être présent dans la table que nous récupérons avec la requête interne.

Répartissons cette requête en deux requêtes distinctes pour voir comment cela fonctionne. Tout d'abord, récupérons les noms des départements avec des budgets de 500 000 $ ou moins (notre requête interne):

123
SELECT name FROM department WHERE budget <= 500000
copy

Maintenant, compte tenu du résultat obtenu, écrivons la deuxième requête pour récupérer des informations sur les employés de ces départements:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

Le résultat de cette requête sera le même que la première requête.

Voici une description étape par étape :

  1. La sous-requête interne récupère les names des départements dont nous avons besoin;

  2. La clause WHERE vérifie si ces départements sont dans la table de la sous-requête interne;

  3. Nous obtenons le résultat souhaité.

Voici la syntaxe de base pour une sous-requête interne:

Lors de l'utilisation de requêtes imbriquées, gardez ces points importants à l'esprit :

  1. Résultat unique dans la sous-requête : assurez-vous que la requête imbriquée renvoie une seule colonne. Si elle est utilisée dans une comparaison, elle devrait idéalement renvoyer une seule valeur. Cela est crucial pour les opérateurs tels que =, >, <, >=, <=, <>;

  2. Types de données : le type de données de la colonne renvoyée doit correspondre à la colonne avec laquelle vous la comparez, afin d'éviter des erreurs;

  3. Optimisation : les requêtes imbriquées peuvent être lentes, surtout si elles sont exécutées pour chaque ligne de la requête principale;

  4. Utilisation de l'opérateur IN : les requêtes imbriquées utilisent souvent l'opérateur IN pour vérifier la présence de valeurs dans un sous-ensemble. Vous pouvez également utiliser des opérateurs de comparaison pour des conditions plus complexes.

1. Qu'est-ce qu'une requête imbriquée en SQL ?

2. Quel opérateur SQL est couramment utilisé avec les requêtes imbriquées pour vérifier les valeurs dans un sous-ensemble ?

3. Pourquoi est-il important que le type de données de la colonne retournée par une sous-requête corresponde à la colonne à laquelle elle est comparée ?

Qu'est-ce qu'une requête imbriquée en SQL ?

Qu'est-ce qu'une requête imbriquée en SQL ?

Sélectionnez la réponse correcte

Quel opérateur SQL est couramment utilisé avec les requêtes imbriquées pour vérifier les valeurs dans un sous-ensemble ?

Quel opérateur SQL est couramment utilisé avec les requêtes imbriquées pour vérifier les valeurs dans un sous-ensemble ?

Sélectionnez la réponse correcte

Pourquoi est-il important que le type de données de la colonne retournée par une sous-requête corresponde à la colonne à laquelle elle est comparée ?

Pourquoi est-il important que le type de données de la colonne retournée par une sous-requête corresponde à la colonne à laquelle elle est comparée ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt