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 :

Besoin d'explication pour WHERE EXISTS(SELECT NULL..


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut Besoin d'explication pour WHERE EXISTS(SELECT NULL..
    Bonjour,

    Je dois retaper une procédure stockée et une partie d'une requête me laisse pantois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT unTruc
    FROM MaTable
    WHERE Machin=3
    AND EXISTS (SELECT null
                FROM TableAutre
                ...)
    Je ne doute pas du bienfondé du "WHERE EXISTS (SELECT NULL " mais je n'arrive pas à comprendre comment il marche. Quelqu'un pourrait-il éclairer ma lanterne ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    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 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Ce qui est important pour comprendre, c'est ce qu'il y a dans cette partie là du code

  3. #3
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,
    Je pense que cela peut t'éclairer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> SELECT * FROM dual WHERE EXISTS (SELECT NULL FROM dual);
     
    D
    -
    X
     
    SQL> SELECT * FROM dual WHERE EXISTS (SELECT NULL FROM dual WHERE 0=1);
     
    no rows selected
    On aurait pû remplacer le NULL par 1, ou "Choucroute"

    [EDIT]Code Oracle ...[/EDIT]

  4. #4
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut
    arf bon je reprends alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT  A.Champ1, A.Champ2, A.Champ3
    FROM   MATable1 A
    WHERE EXISTS (SELECT null
    	        FROM   MaTable2 C
    	        WHERE  C.Champ1 = A.Champ1
    	        AND C.Champ2 = A.Champ2
    	        AND C.Champ3   = A.Champ3
    	        AND ( C.Champ4 = 'DA' AND C.Champ5 = 'AC' ))
    J'espère avoir laissé suffisement d'info pour que ce soit plus parlant cette fois


    EDIT : Merci Chrifo, je comprends le principe du coup, finalement c'est juste dans le bt de tester le EXISTS, après la selection, on n'en a pas besoin

    Merciiii !!

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

Discussions similaires

  1. Besoin d'explications pour Hough
    Par zolotaya dans le forum Traitement du signal
    Réponses: 14
    Dernier message: 25/04/2013, 20h17
  2. Besoin d'explication pour ce code
    Par fd_caramba dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 24/12/2008, 07h03
  3. Besoin d'explication pour une requête
    Par Dosix dans le forum Requêtes
    Réponses: 17
    Dernier message: 22/12/2008, 13h44
  4. Réponses: 11
    Dernier message: 27/06/2008, 16h00
  5. Besoin d'explication pour l'impression
    Par mygwel dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 25/05/2006, 10h49

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