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 :

[MySQL] Jointure correcte ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 97
    Par défaut [MySQL] Jointure correcte ?
    Bonjour à tous,

    J'ai deux tables

    GALERIE

    id
    nom_galerie

    -----------------------

    PHOTOS

    id
    description
    image
    id_gal
    Je veux afficher une photo pour chaque galerie disponible.

    J'ai fais donc la requete suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT galerie.id, galerie.nom_galerie, photos.description, photos.image, photos.id_gal FROM galerie, photos WHERE photos.id_gal = galerie.id GROUP BY galerie.id
    D'habitude, je fais deux requete pour faire ce que j'ai plus haut mais je me suis dit qu'il était temps de me mettre sérieusement à optimiser tout ca....

    Je précise que cela fonctionne sans problème mais j'aimerais savoir si il n'y a pas plus court pour faire la meme chose...

    Merci de votre aide.

    Bertrand

    PS: Serait-il également possible de prendre une photo aléatoirement et pas la dernière de chaque galerie comme c'est le cas actuellement?

    Merci

  2. #2
    C_C
    C_C est déconnecté
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 139
    Par défaut
    Salut,

    quand à l'optimisation tu peux faire plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT galerie.*, photos*
     FROM galerie, photos 
    WHERE photos.id_gal = galerie.id GROUP BY galerie.id
    Ça évite de consulter colonne à colonne.

  3. #3
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    En général, quand on écrit une requête, on précise les colonnes que l'on souhaite récupérer, c'est plus rigoureux et de plus, si les différentes tables ont des noms de champs communs, on évite les alias automatiquement attribués par le SGBD

    Bertrand, ta requête est correcte. Tu pourrais l'améliorer en respectant la norme SQL et en utilisant le mot clé JOIN (cf http://sql.developpez.com/sqlaz/jointures/), mais ce n'est pas forcément possible, cela dépend de ton SGBD et de sa version (que tu n'as pas précisé).
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 97
    Par défaut
    Salut,

    Merci à vous deux et désolé pour le retard....

    J'utilise Mysql, tout simplement....

    Merci pour le lien sur les jointures, je vais plancher là dessus....

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

Discussions similaires

  1. Requete Mysql + jointure + tri : arhfh!
    Par Amara dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/06/2006, 14h24
  2. [MySQL] Jointure et Sum
    Par dark_vidor dans le forum Langage SQL
    Réponses: 7
    Dernier message: 17/03/2006, 14h01
  3. Mysql - édition correcte des champs
    Par Sebe dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/10/2005, 12h59
  4. [MySQL] Jointure sur une table déjà jointe
    Par genova dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/10/2005, 23h54
  5. [MySQL] - jointure de tables
    Par yelbied dans le forum Requêtes
    Réponses: 7
    Dernier message: 12/10/2005, 17h34

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