IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Requête corrélée - requête imbriquée


Sujet :

SQL Oracle

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Points : 271
    Points
    271
    Par défaut Requête corrélée - requête imbriquée
    Bonjour,
    comment traduisiez-vous ces deux en anglais s'il vous plait ?

    Pouvez-vous aussi m'en donner un exemple de chacune ?

    D'avance merci.

  2. #2
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    les requetes imbriquées, ca ne serait pas les subqueries ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from
    (select * from ...)
    Et les requetes imbriquées, je m'hasarderai pas à le traduire (mais wiki semble dire Correlated subquery), mais ca serait ca que ca m'étonnerait pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select  (select * from ...)
    from ...
    http://en.wikipedia.org/wiki/Correlated_subquery

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Points : 271
    Points
    271
    Par défaut
    Merci pour ta réponse.

    Peut-on dire que le premier exemple est imbriqué et le deuxième corrélée ?

    Jérome Gabillaud dans son livre "Entrainez-vous sur SQL : ENI, P 41" fait distinction entre sous-requête imbriquée et sous-requête corrélée. Ce qui me laisse dubitatif pour les traductions.

    J'attends d'autres éclaircissements.

    Citation Envoyé par bstevy Voir le message
    les requetes imbriquées, ca ne serait pas les subqueries ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from
    (select * from ...)
    Et les requetes imbriquées, je m'hasarderai pas à le traduire (mais wiki semble dire Correlated subquery), mais ca serait ca que ca m'étonnerait pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select  (select * from ...)
    from ...
    http://en.wikipedia.org/wiki/Correlated_subquery

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Dans l'expression "sous-requête corrélée", il y a l'idée de corrélation entre la requête principale et la sous-requête.
    Exemple avec deux sous-requêtes corrélées, la première étant une sous-requête scalaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT  tb1.col_1
        ,   (   SELECT  MAX(tb3.col_X)
                FROM    table3  tb3
                WHERE   tb3.col_Y = tb1.col_3 --  Condition de corrélation
            )
    FROM    table1  tb1
    WHERE   EXISTS
            (   SELECT  1
                FROM    table2  tb2
                WHERE   tb2.col_A = tb1.col_2 --  Condition de corrélation
            )
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Points : 271
    Points
    271
    Par défaut
    merci pour cette exemple de requêtes corrélées.

    Pouvez-vous donner un exemple de requêtes imbriquées s'il vous plait ?

  6. #6
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Lisez aussi la doc d'Oracle: Using Subqueries

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Requête corrélée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select *
      from dual d1
     where exists (select null
                     from dual d2
                    where d1.dummy = d2.dummy);
    Requête imbriquée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
      from dual
     where dummy in (select dummy
                       from dual);

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Points : 271
    Points
    271
    Par défaut
    Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/03/2009, 22h40
  2. Problème de requêtes sans requêtes imbriquées
    Par toddy_101 dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/12/2006, 10h27
  3. requète de sélection imbriqué sous access
    Par fahmichebaane dans le forum Access
    Réponses: 3
    Dernier message: 07/04/2006, 11h30
  4. Pb Requête Corrélées sur MS SQL-SERVER2000
    Par Pongo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/09/2005, 16h08
  5. Problème de date dans requête de màj imbriquée
    Par VirginieGE dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/07/2004, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo