Requête SQL sur plusieurs tables

Fermé
Solar13 Messages postés 204 Date d'inscription lundi 23 mai 2011 Statut Membre Dernière intervention 14 mai 2014 - Modifié par Solar13 le 3/11/2011 à 09:06
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 - 4 nov. 2011 à 11:24
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
A voir également:

5 réponses

babane5 Messages postés 99 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 26 juin 2012 11
3 nov. 2011 à 09: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 10 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 3 novembre 2011
3 nov. 2011 à 09:12
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 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
3 nov. 2011 à 09:39
Tout a fait d'accord
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
3 nov. 2011 à 14:50
il est préférable d'utiliser des jointures comme l'a fait babane 5 au-dessus
0
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
4 nov. 2011 à 09:59
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 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
4 nov. 2011 à 11:24
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 204 Date d'inscription lundi 23 mai 2011 Statut Membre Dernière intervention 14 mai 2014
3 nov. 2011 à 09:13
Merci à toi,

pa = pays et pe = personne ?
0
babane5 Messages postés 99 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 26 juin 2012 11
3 nov. 2011 à 09:15
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 204 Date d'inscription lundi 23 mai 2011 Statut Membre Dernière intervention 14 mai 2014
3 nov. 2011 à 09:18
Merci, je vais tester ça :)
0

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

Posez votre question
jdao78 Messages postés 10 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 3 novembre 2011
3 nov. 2011 à 09:21
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