Dans n'importe quelle application de base de données qui utilise le langage SQL (Structured Query ) pour créer des requêtes , la requête "Select" est le cheval de bataille . Tout de simples vues de jointures complexes et les calculs sont effectués via des variations sur la requête de sélection . Le sous -select ou sous-requête est simplement une instruction SELECT imbriquée dans une autre requête de sélection . La meilleure façon de construire et de comprendre une requête sub-select est de construire et d'exécuter les deux parties de la requête individuellement pour vous assurer d'avoir les résultats que vous voulez , puis les combiner en une requête sous-sélection . Cet exemple va générer une requête de montrer que les clients n'ont pas acheté quelque chose en plus de 90 jours . Instructions
1
créer une requête pour sélectionner et afficher tous les clients. Pour créer une requête dans Access , cliquez sur «Requêtes» dans le menu de l'objet , puis cliquez sur " Design" ou "Nouveau" dans la barre de menu. Lorsque la fenêtre de requête s'ouvre , cliquez sur "Affichage" puis " Mode SQL " pour ouvrir une fenêtre de texte pour saisir la requête. Tapez la requête, puis cliquez sur le point d'exclamation rouge pour exécuter la requête
La syntaxe est la suivante: .
"Select Customers.ID , Customers.Company des clients»
Cette affiche tous les identifiants des clients et des noms de sociétés dans la base de données clients.
2
Créer une requête qui affiche toutes les commandes qui ont été placées dans les 90 derniers jours. La syntaxe de cette requête ressemble à ceci:
"SELECT Orders.OrderID de commandes où Orders.CustomerID = Customers.CustomerID et Orders.OrderDate > Date () - 90)
Cette requête affiche uniquement le champ " orderID " qui a un numéro d'identification de client valide et une vente au cours des 90 derniers jours.
3
créer la requête sous-sélection en combinant ces deux requêtes .
"Select Customers.ID , Customers.Company de clients où existe pas
( sélectionner Orders.OrderID
de commandes
où Orders.CustomerID = Customers.CustomerID
et Orders.OrderDate > date () - 90)
Cette requête , en effet, montre tout de la première requête qui n'est pas dans la seconde requête . En d'autres termes , cela montre tous les clients qui n'ont pas acheté quoi que ce soit au cours des 90 derniers jours. La clé de la sous-sélection est " où existe pas " clause.