Procédure : créer des sous-requêtes (Visual Database Tools)

Vous pouvez utiliser les résultats d'une requête en tant que point de départ d'une autre requête. Vous pouvez utiliser les résultats d'une sous-requête en tant qu'instruction faisant appel à la fonction IN( ), à l'opérateur EXISTS ou à la clause FROM.

Vous pouvez créer une sous-requête en l'introduisant directement dans le volet SQL ou copier une requête et la coller dans un autre.

Pour définir une sous-requête dans le volet SQL

  1. Créez la requête de base.

  2. Dans le volet SQL, sélectionnez l'instruction SQL, puis utilisez la commande Copier pour déplacer la requête dans le Presse-papiers.

  3. Créez la nouvelle requête, puis utilisez la commande Coller pour coller la première requête dans la clause WHERE ou FROM de cette nouvelle requête.

    Imaginez, par exemple, que vous soyez en présence de deux tables (products et suppliers) et que vous souhaitiez créer une requête indiquant tous les produits de fournisseurs suédois. Créez la première requête relative à la table suppliers pour rechercher tous les fournisseurs suédois :

    SELECT supplier_id
    FROM supplier
    WHERE (country = 'Sweden')
    

    Utilisez la commande Copier pour copier cette requête dans le Presse-papiers. Créez la deuxième requête relative à la table products répertoriant toutes les informations nécessaires sur les produits :

    SELECT product_id, supplier_id, product_name
    FROM products
    

    Dans le volet SQL, ajoutez une clause WHERE à la deuxième requête, puis collez la première requête à partir du Presse-papiers. Ajoutez des parenthèses autour de la première requête afin d'obtenir le résultat final suivant :

    SELECT product_id, supplier_id, product_name
    FROM products
    WHERE supplier_id IN
       (SELECT supplier_id
      FROM supplier
      WHERE (country = 'Sweden'))