Requête SQL sur plusieurs tables

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. SELECT nom_personne, nom_pays FROM personne as pe INNER JOIN pays as pa ON pe.id= pa.id
    0
    1. 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. Tout a fait d'accord
        0
      2. il est préférable d'utiliser des jointures comme l'a fait babane 5 au-dessus
        0
      3. Avis personnel : Celle de babane 5 est moins intuitif et plus compliqué quand il y a une dizaine de tables en relation...
        0
      4. 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
    2. Merci à toi,

      pa = pays et pe = personne ?
      0
      1. 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
    3. Merci, je vais tester ça :)
      0
      1. 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