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 :

Signification du code d'une requête


Sujet :

Requêtes MySQL

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Par défaut Signification du code d'une requête
    Bonjour tout le monde,

    Dans un script php d'un bouquin (avec MySQL), l'auteur "oublie" d'expliquer la syntaxe du code d'une requête :
    $requete = "SELECT C2.* FROM Commande C1, Carte C2"
    . " WHERE id_session='$id_session' AND C1.id_choix=C2.id_choix"
    . " ORDER BY C2.id_choix ";
    --------------------
    Je me demande ce que signifie C2.*, C1, C2*, C1.id_choix... !
    Je songe à la notion de jointure mais ne comprend pas la syntaxe "Cx".
    C1 et C2 semblent vouloir désigner les 2 tables présentées ci-dessous. Mais ce sont des noms réservés ? Je ne comprends comment ça fonctionne.

    Pour aider à comprendre ce code qui affiche les choix déjà effectués à propos d'un menu (après chaque plat) au fur et à mesure.
    En outre, il y la notion de cession pour garder le fil entre le choix de l'entrée, du plat et du dessert.
    Enfin, il y 2 tables :
    - "Commande" dont chaque article contient un id de session et un id du choix de chaque plat (ou entrée, ou p. principal ou dessert); la clé primaire étant composé de ses deux champs.
    - "Carte" contenant la liste des choix proposés (3 entrées, 3 plats, 3 desserts).
    Ai-je été claire dans mes explications ?

    Rosa L.

  2. #2
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Les "Cx" que vous lisez dans votre requête sont des alias, des raccourcis pour écrire une requête.

    Exemple simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TABLE_AVEC_UN_NOM_SUPER_LONG.CHAMP_NUMERO_1
      FROM TABLE_AVEC_UN_NOM_SUPER_LONG
    ORDER BY  TABLE_AVEC_UN_NOM_SUPER_LONG.CHAMP_NUMERO_1
    Cette requête est longue et difficile à lire. Alors la norme SQL autorise des alias pour simplifier la vie du développeur.

    Votre requete devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T.CHAMP_NUMERO_1
      FROM TABLE_AVEC_UN_NOM_SUPER_LONG T
    ORDER BY  T.CHAMP_NUMERO_1
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Par défaut [Résolu]
    D'accord !
    Et la fin de la première ligne (...FROM Commande C1, Carte C2") permet de donner des alias (C1 et C2) aux tables ?
    N'est-ce pas appelé aussi surnommage cette technique ? Je viens à l'instant de trouver quelque chose là-dessus.

    En tous cas, merci beaucoup Alexandre !

    Rosa L.

  4. #4
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Citation Envoyé par R.L.
    N'est-ce pas appelé aussi surnommage cette technique ?
    Sincèrement, je ne sais pas. Je pense que oui.
    Citation Envoyé par R.L.
    En tous cas, merci beaucoup Alexandre !
    De rien, mais les mercis font toujours autant plaisir
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

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

Discussions similaires

  1. [AC-2007] Comment utiliser ce code dans une requête ?
    Par Philippe608 dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/05/2014, 21h31
  2. code dans une requête SQL
    Par Ragnarok85 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 03/01/2007, 19h24
  3. Réponses: 4
    Dernier message: 08/08/2006, 15h04
  4. Analyse de code HTML en réponse a une requête post.
    Par ghost942 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/06/2005, 21h40
  5. Récupérer le code SQL à partir d'une requête
    Par Edith_T dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 23/11/2004, 14h10

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