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

Langage SQL Discussion :

Explication requète dans clause from


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Par défaut Explication requète dans clause from
    Bonjour,

    J'ai suivi assidument le cours assez complet ici http://sqlpro.developpez.com/cours/s...usrequetes/#L4 car je suis à la recherche d'explications sur le fonctionnement et l'utilité de placer des requêtes dans la clause FROM.
    Dans ce cours il y a juste un exemple mais pas de réelles explications et l'exemple donné n'est pas très parlant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT *
    FROM
    (
    SELECT TIT_CODE, CLI_NOM, CLI_PRENOM
    FROM MaTable 
    ) TableReponse
    Quelqu'un pourrait-il m'aiguiller ? me renvoyer vers un tuto qui explique, google n'a pas été mon ami sur ce coup.

    Merci par avance,

  2. #2
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    C'est une requête imbriquée. D'habitude tu fais FROM *nom_de_la_table*, qui correspond à une table avec des données, et bien ici on indique que l'on recherche les données dans la "table" contenant les résultats(données) de la requête située dans la clause FROM

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Par défaut
    Citation Envoyé par -Rpass- Voir le message
    C'est une requête imbriquée. D'habitude tu fais FROM *nom_de_la_table*, qui correspond à une table avec des données, et bien ici on indique que l'on recherche les données dans la "table" contenant les résultats(données) de la requête située dans la clause FROM
    Ok, donc l'utilité c'est juste de pouvoir faire une requête non pas sur la table entière mais sur une partie de cette table, c'est bien ça ?
    C'est la même chose qu'avec un filtre dans la jointure ou il y a un intérêt de rapidité d’exécution ou autres ?

  4. #4
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    effectivement sur la requête que tu as présentée cela n'a pas trop d’intérêt mais sur de grosses requête ça peut représenter une meilleure lisibilité de la requête, pour la rapidité d’exécution et l'efficacité je n'ai pas la réponse

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Par défaut
    Ok.
    Merci beaucoup pour les précisions.
    Bonne journée,

    Frédéric.

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Vous pouvez suivre cette discussions en cours, où vous trouverez un des intérêts des sous requêtes en table dérivée, ou encore les tutoriels et cours de formation pour appendre SQL.

  7. #7
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 641
    Billets dans le blog
    10
    Par défaut
    La sous requete est interessante si elle permet de construire un résultat que l'on aurait pas directement
    voici un exemple où l'on cherche des valeurs distinctes d'un assemblage de colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       SELECT COUNT(DISTINCT (NEST.CLEF))                                      
       FROM (SELECT CONCAT(DIGITS(TB2.NCPTE), DIGITS(TB2.NSEQU)) AS CLEF     
             FROM TAB002            AS TB2                                          
             LEFT OUTER JOIN TAB005 AS TB5                               
               ON TB5.NSEQU = TB2.NSEQU                                     
              AND TB5.NCPTE = TB2.NCPTE
             WHERE TB5.DTCPT > '2014-12-31' )
       AS NEST                                                                 
       WITH UR                                                                 
       ;

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

Discussions similaires

  1. Sous-requête dans un FROM
    Par Seb33300 dans le forum Doctrine2
    Réponses: 4
    Dernier message: 19/01/2013, 22h47
  2. Sous-requête dans un FROM ou table temporaire
    Par dachman dans le forum Développement
    Réponses: 7
    Dernier message: 02/12/2008, 12h41
  3. Sous requête dans un FROM en HQL
    Par mastamx dans le forum Hibernate
    Réponses: 1
    Dernier message: 20/05/2008, 14h54
  4. variable dans clause from
    Par LesDeuxZ dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/06/2007, 11h34
  5. [Requête]Requête dans clause where
    Par cbleas dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/03/2007, 08h45

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