Différence entre INNER, JOIN, LEFT, RIGHT.....etc - SQL/NoSQL - Programmation
Marsh Posté le 19-10-2002 à 21:27:18
| oups93 a écrit a écrit  : Qlq 1 pourrait m'expliquer d'abord ce que c'est LEFT INNER JOIN, RIGHT....et toute la famille. Puis éventuellement, m'expliquer leurs différences. Car pour l'instant, je ne joint les tables que par la fonction = des différents champs. (ou laors par l'imprication de la requete select, mais ça ne marche pas partout ex: Mysql). Voilà Merci d'avance pour votre aide | 
 
 
lis n'importe quel bouquin sur le standard SQL... 
tu aurras toutes les infos et selon les bouquins avec des exemples.
Marsh Posté le 20-10-2002 à 02:04:23
oui ben justement... j'ai pas tout compris apres avoir lu l'explication fourni par l'aide de SQL SERVER7.C'est là raison pour laquel je me tourne vers les utilisateurs pour espérer avoir une explication simplifier dans un langage simplifier...
Marsh Posté le 21-10-2002 à 13:48:57
table A :  
champa  champb 
10      dc 
20      dfd 
30      ax 
40      cf 
 
table B :  
champa  champb 
20      fg 
30      ax 
40      skkj 
50      klklsd  
 
----------------------------------------------------------- 
 
SELECT A.champa, A.champb, b.champa, b.champb 
FROM A LEFT JOIN b ON A.champa = b.champa; 
=> dans cet exemple Je prends toute la table A et les enregistrements 
de la table B s'ils existent 
A.champa	A.champb	b.champa	b.champb 
10	dc   
20	dfd	20	fg 
30	dfd	30	ax 
40	dfd	40	skkj 
 
----------------------------------------------------------- 
 
SELECT A.champa, A.champb, b.champa, b.champb 
FROM A RIGHT JOIN b ON A.champa = b.champa; 
=> dans cet exemple Je prends toute la table B et les enregistrements 
de la table A s'ils existent 
 
A.champa	A.champb	b.champa	b.champb 
20	dfd	20	fg 
30	dfd	30	ax 
40	dfd	40	skkj 
 	50	klklsd 
 
 ![]() 
 
Marsh Posté le 21-10-2002 à 14:13:16
Rien à rajouter ![]() 
 
 
Si ce n'est que tous les SGBD ne supportent pas cette syntaxe ![]()
Marsh Posté le 21-10-2002 à 14:28:47
Ok, OK. 
Merci pour ton aide, c'es plus clair ave un exemple. 
 
(Juste pour voir qi j'ai compris) ce qui voudrais dire que  
... from A LEFT JOIN B  
a la même signification que 
... from B RIGHT JOIN A 
=> donc on prend toujours la totalité de la table qui se trouve à "droite" (ça dépend comment ça se lit...) 
C'est ça? 
 
Et à propos du INNER JOIN, je crois comprendre que c'est la fusion des 2 tables => ayant les même valeurs dans les 2 champs. 
 
Pour OUTER (JOIN)...?? 
 
En tout cas merci pour le LEFT et RIGHT c'est bcp plus clair maintenant
Marsh Posté le 26-01-2005 à 09:13:17
OUTER JOIN = jointure externe. 
 
Il y en a 2 types : par la gauche (LEFT JOIN), par la droite (RIGHT JOIN). 
 
Voilà, c'est tout ![]()
Marsh Posté le 19-10-2002 à 14:53:16
Qlq 1 pourrait m'expliquer d'abord ce que c'est LEFT INNER JOIN, RIGHT....et toute la famille.
Puis éventuellement, m'expliquer leurs différences.
Car pour l'instant, je ne joint les tables que par la fonction = des différents champs. (ou laors par l'imprication de la requete select, mais ça ne marche pas partout ex: Mysql).
Voilà
Merci d'avance pour votre aide
Message édité par oups93 le 19-10-2002 à 14:54:07