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

Oracle Discussion :

Where = having ?


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut Where = having ?
    Bonjour,

    J'ai une petite question qui me tracasse :

    Un where est-il égal à un group by + having ?
    exemple avec une requete qui trouve les colis livrés en retard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT idcolis
    FROM livraison
    WHERE heurelivrmax>heurelivrtheorique
    est-ce égal à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT idcolis
    FROM livraison
    group by idcolis
    having heurelivrmax>heurelivrtheorique
    Merci

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    La clause Where agit sur les lignes de la table alors que la clause Having agit sur les groupes constitués. D'ailleurs vous pouvez parfaitement concevoir une requête qui inclut les 2 clauses.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Pour répondre formellement à la question, non les 2 requêtes ne sont pas équivalentes, la 1iere est juste et la 2ieme est fausse car le having ne doit porter que sur des colonnes group-by, il suffit simplement de tester et de lire le message oracle qui est assez explicite...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    Je vous remercie

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/03/2012, 10h34
  2. Réponses: 16
    Dernier message: 20/01/2011, 12h45
  3. Optimisation requête (WHERE, HAVING)
    Par dafalri dans le forum Requêtes
    Réponses: 6
    Dernier message: 02/12/2008, 15h46
  4. Problème lié à l'utilisation de WHERE, GROUP BY et HAVING
    Par Colgateblancheur dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/06/2008, 08h32
  5. [Fonctions analytiques] - Clause Where / Having
    Par jacquesh dans le forum Oracle
    Réponses: 5
    Dernier message: 06/10/2006, 13h29

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