Différence entre INNER, JOIN, LEFT, RIGHT.....etc

Différence entre INNER, JOIN, LEFT, RIGHT.....etc - SQL/NoSQL - Programmation

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
Reply

Marsh Posté le 19-10-2002 à 14:53:16   

Reply

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.


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
Reply

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...

Reply

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
 
 ;)

Reply

Marsh Posté le 21-10-2002 à 14:13:16    

Rien à rajouter :)
 
Si ce n'est que tous les SGBD ne supportent pas cette syntaxe ;)

Reply

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

Reply

Marsh Posté le 25-01-2005 à 23:56:25    

LEFT JOIN et LEFT OUTER JOIN c'est pareil ?

Reply

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 :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed