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