Flux rss
Bookmark Ajouter aux favoris / Partager

Expression des sous-requêtes

Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en cascade).

Une sous-requête doit être placée à la suite d'une clause WHERE ou HAVING, et doit remplacer une constante ou un groupe de constantes qui permettraient en temps normal d'exprimer la qualification.

  • lorsque la sous-requête remplace une constante utilisée avec des opérateurs classiques, elle doit obligatoirement renvoyer une seule réponse (une table d'une ligne et une colonne). Par exemple :
    SELECT ---- FROM ----
    WHERE ---- < (SELECT ---- FROM ----)
  • lorsque la sous-requête remplace une constante utilisée dans une expression mettant en jeu les opérateurs IN, EXISTS, ALL ou ANY, elle doit obligatoirement renvoyer une seule ligne.
    SELECT ---- FROM ----
    WHERE ---- IN (SELECT ---- FROM ----)

Soit la table suivante :

Table Occaz

Marque Modele Serie Numero Compteur
Renault 18 RL 4698 SJ 45 123450
Renault Kangoo RL 4568 HD 16 56000
Renault Kangoo RL 6576 VE 38 12000
Peugeot 106 KID 7845 ZS 83 75600
Peugeot 309 chorus 7647 ABY 82 189500
Fiat Punto GTI 8941 UD 61 80232
Audi A4 Quattro 7846 AZS 75 21350

  • La sélection des voitures dont le compteur est inférieur à la moyenne se fait par l'instruction :
    SELECT * FROM OCCAZ
    WHERE Compteur < (SELECT AVG(Compteur) FROM OCCAZ)

    Résultat

    Marque Modele Serie Numero Compteur
    Renault Kangoo RL 4568 HD 16 56000
    Renault Kangoo RL 6576 VE 38 12000
    Peugeot 106 KID 7845 ZS 83 75600
    Audi A4 Quattro 7846 AZS 75 21350



Dernière modification le mardi 14 octobre 2008 à 17:40:30.Ce document intitulé « SQL - Sous-requêtes » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
[Access] : Requete SQL en VBa (Résolu) Salut à tous je cherche de l'aide pour creer une requete SQL dans le VB fournit avec Access en faite je veux ecrire une requete qui tiendra compte de ce que j'aurais choisit dans ma zone de liste exemple: SELECT PC.nom_PC FROM PC WHERE utilisateur... www.commentcamarche.net/forum/affich-2747677-access-requete-sql-en-vba
[ACCESS VBA SQL] Problème Requete Guillemet (Résolu) Bonjour, j'ai un problème de requète SQL sous VBA. La requète fonctionne normalement. Quand je le personnalise en ajoutant un critère et en redefinissant de fait le code de la requète c'est un morceau du code qui fonctionnait jusqu'alors qui ne marche... www.commentcamarche.net/forum/affich-11365853-access-vba-sql-probleme-requete-guillemet
SQL requete INSERT (Résolu) Bonjour, Je cherche à effectuer une requête SQL du genre : INSERT INTO ma_table (mon_champs1, mon_champs3, mon_champs4) VALUES ('aaaaa', 'bbbbb', 'ccccc') WHERE (champs2 = 'ddddd'); Je n'arrive pas trouver la bonne syntaxe !? Est-ce que quelqu'un... www.commentcamarche.net/forum/affich-7620253-sql-requete-insert
[ACCESS] Pb à l'execution d'une requete SQL (Résolu)Bonjour, j'ai crée une base de donnée, avec trois tables ds access. Je fais une requete SQL diretc (select * from tab1), et qd je fais execution j'ai un probleme. J'ai une fenetre "Sélectionner la source de données" qui s'ouvre, qui me demande en fait... www.commentcamarche.net/forum/affich-2702990-access-pb-a-l-execution-d-une-requete-sql
SQL : requete pour afficher les 5 premiers enComment établir une requete SQL qui m'affiche les 5 premiers enregistrements d'une table 'CLIENTS' ou bien les enregistrements 6, 7, 8, 9 et 10 ? exemple de table Client(id_clients, nom, prenom) Merci de me répondre ! www.commentcamarche.net/forum/affich-187828-sql-requete-pour-afficher-les-5-premiers-en
Requete SQL doublons sur 2 champsBonjour à tous, de bon matin dans la programmation! Je cherche une requête SQL permettant de me sortir des doublons sur deux champs... Je m'explique, j'ai une base XXX avec 5 champs, où il y a malheureusement certaines lignes où 2 champs Y et Z sont... www.commentcamarche.net/forum/affich-1948910-requete-sql-doublons-sur-2-champs
Le langage SQLQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,... www.commentcamarche.net/contents/sql/sqlintro.php3
SQL - Création de tableLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE... www.commentcamarche.net/contents/sql/sqlcreate.php3
SQL - Contraintes d'intégritéExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient... www.commentcamarche.net/contents/sql/sqlcontr.php3