Requête SQL sur plusieurs tables

Solar13 Messages postés 214 Statut Membre -  
maka54 Messages postés 721 Statut Membre -
Bonjour à vous,

J'ai une question simple, il est possible de faire une requête SQL sur plusieurs tables si elles sont liées ?

J'ai deux tables, une personne et une pays.
Elles sont liés par l'ID par une clé étrangère sur l'ID sur la table personne.

Comment je peux récupérer par exemple le nom de la personne et le nom du pays avec la même requête ?

Merci à vous

5 réponses

  1. babane5 Messages postés 108 Statut Membre 11
     
    SELECT nom_personne, nom_pays FROM personne as pe INNER JOIN pays as pa ON pe.id= pa.id
    0
  2. jdao78 Messages postés 11 Statut Membre
     
    Bonjour,

    Essayez de faire 1 requête suivante :

    Select PE.nom de la personne, PA.nom pays
    from Personne PE, Pays PA
    where PE.ID = PA.ID

    Bon courage !
    0
    1. DoulyCreations Messages postés 265 Statut Membre 19
       
      Tout a fait d'accord
      0
    2. maka54 Messages postés 721 Statut Membre 80
       
      il est préférable d'utiliser des jointures comme l'a fait babane 5 au-dessus
      0
    3. DoulyCreations Messages postés 265 Statut Membre 19
       
      Avis personnel : Celle de babane 5 est moins intuitif et plus compliqué quand il y a une dizaine de tables en relation...
      0
    4. maka54 Messages postés 721 Statut Membre 80
       
      moins intuitif, c'est ce que tu penses mais c'est comme çà que se fait une vraie jointure....

      Quand tu auras une dizaine de tables à lier, certaines devant respecter la jointure (INNER) et d'autres non (LEFT ou RIGHT), tu feras comment avec ta technique ??
      0
  3. Solar13 Messages postés 214 Statut Membre
     
    Merci à toi,

    pa = pays et pe = personne ?
    0
    1. babane5 Messages postés 108 Statut Membre 11
       
      SELECT pe.nom_personne, pa.nom_pays FROM personne as pe INNER JOIN pays as pa ON pe.id= pa.id

      (as => permet de renommé un élément !)
      0
  4. Solar13 Messages postés 214 Statut Membre
     
    Merci, je vais tester ça :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jdao78 Messages postés 11 Statut Membre
     
    oui,

    pa = alias de la table pays
    pe = alias de la table personne

    Tu peux aussi faire la requête comme indiqué par babane5 mais je pense qu'elle est - performance que la jointure directe.
    0