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 :

exemple sur EXISTS


Sujet :

Langage SQL

  1. #1
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut exemple sur EXISTS
    Dans les tuto de SQL Pro (merci !), à propos de la commande EXISTS, je lis

    Nous voulons obtenir le total du couchage de l'hôtel, toutes chambres confondues, à condition qu'il y ait au moins une chambre dotée d'un couchage pour au moins 3 personnes :

    Exemple 30
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT SUM(CHB_COUCHAGE) AS TOTAL_COUCHAGE
    FROM   T_CHAMBRE
    WHERE  EXISTS (SELECT *
                   FROM   T_CHAMBRE
                   WHERE  CHB_COUCHAGE >= 3)
    source : http://sqlpro.developpez.com/cours/s...quetes/#L1.5.1


    Et en fait je ne comprends pas

    En lisant le code, je dirais que l'on compte le nombre de couchage dispo en ne comptant que les chambres de 3 places et plus.

    D'où sort le "au moins une chambre" ?


    Merci si vous pouvez m'expliquer !

  2. #2
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    Points : 641
    Points
    641
    Par défaut
    Bonjour,
    ben si la condition exist n'est pas remplie, le total de couchage sera de 0, donc si toutes les chambres ont un nombre de couchage strictement inférieur à 3, le total sera de 0, sinon le total sera le nombre total de couchages (y compris les chambres avec moins de 3).
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  3. #3
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Ahhhhhhhhhhhhhhhhhh !!!!

    Merci, ça y est je vois !

  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 783
    Points
    30 783
    Par défaut
    C'est certain qu'il n'est pas facile de trouver un exemple d'utilisation de EXISTS sans correlation.
    Et ceui-ci n'es pas très parlant non plus.

    Il faut le lire comme suit :
    S'il existe au moins une chambre d'au moins 3 couchage, donner le nombre total des couchages.
    S'il n'y a pas de chambre avec au moins 3 couchage, retourner 0.

    Un autre exemple : Retourner la liste des médecins de garde si la date de consultation de la base est un jour férié, sinon ne rien retourner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select    *
    from    GARDES
    where    exists    (    select    1
                        from    JOURS_FERIES    as JF
                        where    CURRENT_DATE =     JF.DATE_JOUR
                    )
    ;
    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.

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

Discussions similaires

  1. cherche tuto ou exemple sur les sockets unix
    Par razam dans le forum Réseau
    Réponses: 14
    Dernier message: 24/10/2007, 17h18
  2. Cherche exemple sur la methode Equal
    Par smutmutant2003 dans le forum Langage
    Réponses: 3
    Dernier message: 07/03/2007, 11h02
  3. Test sur existence Fichier
    Par blackstreet dans le forum Réseau
    Réponses: 12
    Dernier message: 25/07/2006, 13h24
  4. Condition sur existence de fichier sur le disque dur
    Par manshoon dans le forum Langage
    Réponses: 3
    Dernier message: 10/05/2006, 09h58

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