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 :

[MySQL] requete d'exclusion


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut [MySQL] requete d'exclusion
    Bonjour,

    Je voudrais faire une requête MySQL qui sélectionne tous les lignes de ma table à l'exception de celles où l'id existe également dans une colonne d'une autre table
    table A

    id nom prenom

    table B

    id nom prenom
    je veux récupérer toutes les lignes de la table A quand mon A.id n'existe pas dans B.id

    Que dois-je faire? j'ai pensé à une boucle sur chaque ligne mais c'est lourd et je pense qu'il y a mieux

    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Le plus immédiat serait d'utiliser NOT IN ou encore, bien qu'un peu moins évident, NOT EXISTS (peut-être, mais c'est à tester, plus efficace).

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Avec une simple jointure externe, c'est plus efficace et c'est valable pour toutes les versions de MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select A.*
    from A
    left join B on A.id = b.ID
    where B.id is null
    ced

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

Discussions similaires

  1. [MySQL] requete avec cumul mois par mois
    Par michaelbob dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/01/2006, 15h32
  2. EXPORT mysql, requete BACKUP
    Par kichemans dans le forum Administration
    Réponses: 6
    Dernier message: 28/12/2005, 17h02
  3. [C#/MySQL] Requete conditionelle
    Par vincent.e dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/12/2005, 17h51
  4. [mySQL]Requete qui prend 100 % du CPU et n'aboutit pas
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 20
    Dernier message: 12/10/2005, 09h36
  5. Réponses: 19
    Dernier message: 01/04/2004, 14h41

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