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

Requêtes MySQL Discussion :

EXISTS et NOT EXISTS


Sujet :

Requêtes MySQL

  1. #1
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut EXISTS et NOT EXISTS
    Saluton,
    Je n'arrive pas à comprendre ce point de la documention MYSQL 13.1.8.6. EXISTS et NOT EXISTS.
    Il y est dit en préambule ceci :
    Si une sous-requête retourne absolument aucune valeur, alors la clause EXISTS <subquery> est TRUE, et la clause NOT EXISTS <subquery> est FALSE. Par exemple :

    SELECT column1 FROM t1 WHERE EXISTS (SELECT * FROM t2);
    Dans l'exemple ci-dessus, si la table t2 ne contient aucune ligne, même pas de ligne avec uniquement des valeurs NULL, alors la condition EXISTS est TRUE.
    J'ai plutôt l'impression que c'est le contraire, non ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 16
    Points
    16
    Par défaut Doc 5.1
    Bonjour,

    Essaye plutôt avec la doc en anglais (pas de risque de pb de traduction) :
    http://dev.mysql.com/doc/refman/5.1/...ubqueries.html

    De plus, je te conseille de toujours prendre la dernière version de doc (5.1) qui est toujours mieux supportée.


    Cédric.
    Ingé BDD chez capdata
    www.capdata.fr

  3. #3
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Merci de ta réponse, mais en anglais ou en français, en 5.0 ou 5.1, le prédicat me semble erroné.
    Si une sous-requête ne retourne absolument aucune valeur, alors la clause EXISTS <subquery> est FALSE, et la clause NOT EXISTS <subquery> est TRUE,
    et non l'inverse

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Si tu prends l'exemple suivant (doc 5.1 US) :

    SELECT column1 FROM t1 WHERE EXISTS (SELECT * FROM t2);

    Traditionally, an EXISTS subquery starts with SELECT *, but it could begin with SELECT 5 or SELECT column1 or anything at all. MySQL ignores the SELECT list in such a subquery, so it makes no difference.

    For the preceding example, if t2 contains any rows, even rows with nothing but NULL values, the EXISTS condition is TRUE
    Il me semble que c'est cohérent.
    Mais sinon, effectivement le prédicat que tu présentes semble erroné.

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

Discussions similaires

  1. Probleme clause NOT EXISTS et NOT IN
    Par Jarod51 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/07/2010, 08h42
  2. Réponses: 6
    Dernier message: 31/07/2009, 21h43
  3. Réponses: 1
    Dernier message: 14/10/2008, 12h08
  4. Réponses: 10
    Dernier message: 14/12/2006, 12h53
  5. Utilisation de EXISTS ou NOT EXISTS
    Par lucky31 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/05/2006, 16h43

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