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 :

requete minimaliste pour detecter la présence d'un élément


Sujet :

Langage SQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut requete minimaliste pour detecter la présence d'un élément
    Bonjour à tous,

    Je cherche à savoir quelle est la requête qui me permettrai juste de savoir si un élément est présent au moins une fois dans la colonne "mail_client" d'une TABLE.

    J'aimerai que l'exécution de ma requête cesse dès que le résultat correspondant est trouvé, inutile de savoir s'il est présent une fois ou x fois et d'explorer toute la TABLE.

    est-ce que "LIMIT 1" est suffisant ?

    l'idéal serait 0 ou 1 comme réponse.

    Merci d'avance pour vos réponses.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    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 103
    Points : 28 394
    Points
    28 394
    Par défaut
    Je ne suis pas sur que LIMIT 1 ne réclame pas un tri des lignes résultant de la requête... donc l'obligation de la terminer pour connaître la ligne qui viendra en premier.

    En revanche, EXISTS s'arrête à la première ligne trouvée.

    Cette requête te retournera 1 si une ligne correspond à la condition, rien sinon.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT  1   AS trouve
    --  FROM    DUAL
    WHERE   EXISTS
            (   SELECT  *
                FROM    matable
                WHERE   macondition
            )
    ;
    Si tu veux vraiment avoir 0 ou 1 tu peux toujours faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT  SUM(trouve)   AS resultat
    --  FROM    DUAL
    FROM    (   SELECT  0   AS trouve
                --  FROM    DUAL
            UNION ALL
                la_requête_précédente 
            )   AS qry
     ;

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/11/2005, 14h06
  2. Requete compliquee (pour une debutante !)
    Par crolland dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/07/2004, 17h44
  3. Requete MySql pour Mambo Open source
    Par azman0101 dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/06/2004, 09h34
  4. Requete select pour récupérer les no match entre 2 tables
    Par Celina dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/12/2003, 11h59
  5. [Kylix] Requetes Kylix pour postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h22

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