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 :

Selectionner les lignes qui ne sont dans une table mais pas dans une autre


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 66
    Points : 41
    Points
    41
    Par défaut Selectionner les lignes qui ne sont dans une table mais pas dans une autre
    Bonjour,

    j'ai 2 tables, Table1(id, reference) et Table2(id, reference)

    Je veux sortir la liste des lignes de Table1 qui ne sont pas présentes dans Table2 , reference étant la jointure entre ces 2 tables.

    merci de votre aide !

    ++

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Je me répond, j ai trouvé une requête qui semble marcher mais elle met 3 plombes à s exécuter, doit y avoir un souci ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select table1.* from table1 
    LEFT JOIN table2 ON table1.reference=table2.reference
    WHERE table2.reference IS NULL

  3. #3
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    combien de lignes dans chaque table?
    reference est de quel type? varchar?
    tu utilises des index?

  4. #4
    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
    Saluton,
    Je vois deux raisons, le SELECT * http://www.expreg.com/fred_article.p...re_des_etoiles
    et le fait que la jointure s'opère sur les colonnes `reference` qui ne doivent pas être indexées.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Cybher Voir le message
    salut,

    combien de lignes dans chaque table?
    reference est de quel type? varchar?
    tu utilises des index?
    il y a 4000 lignes dans chaque table, reference est VARCHAR, et je ne gère pas d index, je ne sais pas comment on fait au fait ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    je viens de créer des index, la requête est immédiate !

    Merci de vos conseils

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/12/2010, 18h11
  2. Recherche d'une valeur présent dans une table mais pas dans une autre
    Par bossLINDROS dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/06/2008, 15h12
  3. Ce qui est dans une table mais pas dans l'autre !
    Par youyoule dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/12/2007, 12h57
  4. Réponses: 18
    Dernier message: 26/07/2006, 14h51
  5. Réponses: 3
    Dernier message: 14/03/2006, 11h34

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