05-02-2010, 07:11 PM
(Modification du message : 05-02-2010, 07:12 PM par NicoMSEvent.)
Sephi, c'est tout à fait ça, a part qu'il me semble que c'est exactement l'inverse ^^
En effet, le LEFT JOIN te ramène toutes les lignes de la table FROM, et celles qui ont une correspondance dans la table LEFT JOIN. Les données "manquantes" sont remplacées par des NULL
Exemple : si A contient 1,2,3 et B 2,3,4
SELECT A.id,B.id FROM A LEFT JOIN B ON A.id=B.id
Ce qui sera retourné sera
1,NULL
2,2
3,3
SELECT A.id,B.id FROM A INNER JOIN B ON A.id=B.id; qui correspond a la requète de la ligne suivante
SELECT A.id,B.id FROM A ,B WHERE A.id=B.id;
Ce qui sera retourné sera
2,2
3,3
et pour finir :
SELECT A.id,B.id FROM A RIGHT JOIN B ON A.id=B.id
Ce qui sera retourné sera
2,2
3,3
NULL,4
J'espère avoir un peu éclairci tout ça
Edit : Source : http://dev.mysql.com/doc/refman/5.0/fr/join.html
En effet, le LEFT JOIN te ramène toutes les lignes de la table FROM, et celles qui ont une correspondance dans la table LEFT JOIN. Les données "manquantes" sont remplacées par des NULL
Exemple : si A contient 1,2,3 et B 2,3,4
SELECT A.id,B.id FROM A LEFT JOIN B ON A.id=B.id
Ce qui sera retourné sera
1,NULL
2,2
3,3
SELECT A.id,B.id FROM A INNER JOIN B ON A.id=B.id; qui correspond a la requète de la ligne suivante
SELECT A.id,B.id FROM A ,B WHERE A.id=B.id;
Ce qui sera retourné sera
2,2
3,3
et pour finir :
SELECT A.id,B.id FROM A RIGHT JOIN B ON A.id=B.id
Ce qui sera retourné sera
2,2
3,3
NULL,4
J'espère avoir un peu éclairci tout ça
Edit : Source : http://dev.mysql.com/doc/refman/5.0/fr/join.html
Je signale que je ne détiens pas la vérité unique et absolue, je peux me tromper. La critique peut aussi être constructive. Critiquez moi!
La quête d'Ewilan
http://easy2hack.ma-soiree.be
La quête d'Ewilan
http://easy2hack.ma-soiree.be