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

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
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
DoulyCreations Messages postés 265 Statut Membre 19
 
Tout a fait d'accord
0
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
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
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
Solar13 Messages postés 214 Statut Membre
 
Merci à toi,

pa = pays et pe = personne ?
0
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
Solar13 Messages postés 214 Statut Membre
 
Merci, je vais tester ça :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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