j'aimerais avec des precisions sur les commandes inner join et outer join ;
en effet, je ne comprends pas trop la difference entre ces deux dernieres et
une instruction where dans laquelle on met la clause d'egalite sur 2 cles
Ex:
select table1.toto,table2.tata from table1,table2 where table1.ID= table2.ID
me semble identique a :
select table1.toto,table2.tata
from table1 as t1
inner join table2 as t2
on t1.id=t2.id
Qui peut m'expliquer la difference ????
quel est le plus rapide au niveau du traitement ?
y a t'il une raison particuliere au "inner join" ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bruno reiter [MVP]
les deux sont équivalents, mais la meilleure syntaxe est la deuxième.
d'abord parce que ça correspond à la norme actuelle
ensuite parce que certains problèmes ne peuvent etre résolus avec la première
ensuite parce qu'il est plus clair de séparer les clauses de jointures des clauses de sélection
HTH
br
"Fred" wrote in message news:427a16d9$0$1252$
bonjour,
j'aimerais avec des precisions sur les commandes inner join et outer join ; en effet, je ne comprends pas trop la difference entre ces deux dernieres et une instruction where dans laquelle on met la clause d'egalite sur 2 cles
Ex:
select table1.toto,table2.tata from table1,table2 where table1.ID= table2.ID
me semble identique a :
select table1.toto,table2.tata from table1 as t1 inner join table2 as t2 on t1.id=t2.id
Qui peut m'expliquer la difference ???? quel est le plus rapide au niveau du traitement ? y a t'il une raison particuliere au "inner join" ?
Merci de votre aide
Fred select
les deux sont équivalents, mais la meilleure syntaxe est la deuxième.
d'abord parce que ça correspond à la norme actuelle
ensuite parce que certains problèmes ne peuvent etre résolus avec la
première
ensuite parce qu'il est plus clair de séparer les clauses de jointures des
clauses de sélection
HTH
br
"Fred" <netmaster2@wanadoo.fr> wrote in message
news:427a16d9$0$1252$8fcfb975@news.wanadoo.fr...
bonjour,
j'aimerais avec des precisions sur les commandes inner join et outer join
;
en effet, je ne comprends pas trop la difference entre ces deux dernieres
et
une instruction where dans laquelle on met la clause d'egalite sur 2 cles
Ex:
select table1.toto,table2.tata from table1,table2 where table1.ID=
table2.ID
me semble identique a :
select table1.toto,table2.tata
from table1 as t1
inner join table2 as t2
on t1.id=t2.id
Qui peut m'expliquer la difference ????
quel est le plus rapide au niveau du traitement ?
y a t'il une raison particuliere au "inner join" ?
les deux sont équivalents, mais la meilleure syntaxe est la deuxième.
d'abord parce que ça correspond à la norme actuelle
ensuite parce que certains problèmes ne peuvent etre résolus avec la première
ensuite parce qu'il est plus clair de séparer les clauses de jointures des clauses de sélection
HTH
br
"Fred" wrote in message news:427a16d9$0$1252$
bonjour,
j'aimerais avec des precisions sur les commandes inner join et outer join ; en effet, je ne comprends pas trop la difference entre ces deux dernieres et une instruction where dans laquelle on met la clause d'egalite sur 2 cles
Ex:
select table1.toto,table2.tata from table1,table2 where table1.ID= table2.ID
me semble identique a :
select table1.toto,table2.tata from table1 as t1 inner join table2 as t2 on t1.id=t2.id
Qui peut m'expliquer la difference ???? quel est le plus rapide au niveau du traitement ? y a t'il une raison particuliere au "inner join" ?
Merci de votre aide
Fred select
Philippe Freddi
Bonjour,
Inner join soit la jointure interne
affiche un résultat pour chaque enregistrement de la table 1 pour lequel il y a une correspondance sur la jointure select table1.toto,table2.tata from table1 as t1 inner join table2 as t2 on t1.id=t2.id
ou select table1.toto,table2.tata from table1,table2 where table1.ID= table2.ID
Outer Join Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou droite pour lesquels il n'y a pas de correspondances en fonction du type de jointure LEFT ou RIGHT select table1.toto,table2.tata from table1 as t1 LEFT OUTER join table2 as t2 on t1.id=t2.id
Cross Join soit le produit cartésien affiche pour chaque enregistrement de la table 1 toutes les combinaisons avec la table 2
select table1.toto,table2.tata from table1,table2 ou select table1.toto,table2.tata from table1 cross join table2
Si Table1 = 5 enregistrements et table 2 = 6 enregistrements
La requête retourne 30 enregistrements
Salutations
Philippe
Bonjour,
Inner join soit la jointure interne
affiche un résultat pour chaque enregistrement de la table 1 pour lequel il
y a une correspondance sur la jointure
select table1.toto,table2.tata
from table1 as t1
inner join table2 as t2
on t1.id=t2.id
ou
select table1.toto,table2.tata from table1,table2 where table1.ID= table2.ID
Outer Join
Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou
droite pour lesquels il n'y a pas de correspondances en fonction du type de
jointure LEFT ou RIGHT
select table1.toto,table2.tata
from table1 as t1
LEFT OUTER join table2 as t2
on t1.id=t2.id
Cross Join soit le produit cartésien
affiche pour chaque enregistrement de la table 1 toutes les combinaisons
avec la table 2
select table1.toto,table2.tata from table1,table2
ou
select table1.toto,table2.tata from table1 cross join table2
Si Table1 = 5 enregistrements et table 2 = 6 enregistrements
affiche un résultat pour chaque enregistrement de la table 1 pour lequel il y a une correspondance sur la jointure select table1.toto,table2.tata from table1 as t1 inner join table2 as t2 on t1.id=t2.id
ou select table1.toto,table2.tata from table1,table2 where table1.ID= table2.ID
Outer Join Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou droite pour lesquels il n'y a pas de correspondances en fonction du type de jointure LEFT ou RIGHT select table1.toto,table2.tata from table1 as t1 LEFT OUTER join table2 as t2 on t1.id=t2.id
Cross Join soit le produit cartésien affiche pour chaque enregistrement de la table 1 toutes les combinaisons avec la table 2
select table1.toto,table2.tata from table1,table2 ou select table1.toto,table2.tata from table1 cross join table2
Si Table1 = 5 enregistrements et table 2 = 6 enregistrements
La requête retourne 30 enregistrements
Salutations
Philippe
Sebastien
Philippe Freddi a écrit :
Bonjour, ................. Outer Join Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou droite pour lesquels il n'y a pas de correspondances en fonction du type de jointure LEFT ou RIGHT select table1.toto,table2.tata from table1 as t1 LEFT OUTER join table2 as t2 on t1.id=t2.id
Pour compléter la liste, en plus du LEFT OUTER JOIN (ou LEFT JOIN) et du RIGHT OUTER JOIN (ou RIGHT JOIN), il y a également la jointure externe complète avec le FULL OUTER JOIN (ou FULL JOIN), c'est-à-dire l'équivalent d'un LEFT JOIN et d'un RIGHT JOIN en même temps
Sébastien
Philippe Freddi a écrit :
Bonjour,
.................
Outer Join
Idem que l'Inner join mais rajoute les enregistrements de la table
gauche ou droite pour lesquels il n'y a pas de correspondances en
fonction du type de jointure LEFT ou RIGHT
select table1.toto,table2.tata
from table1 as t1
LEFT OUTER join table2 as t2
on t1.id=t2.id
Pour compléter la liste, en plus du LEFT OUTER JOIN (ou LEFT JOIN) et du
RIGHT OUTER JOIN (ou RIGHT JOIN), il y a également la jointure externe
complète avec le FULL OUTER JOIN (ou FULL JOIN), c'est-à-dire l'équivalent
d'un LEFT JOIN et d'un RIGHT JOIN en même temps
Bonjour, ................. Outer Join Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou droite pour lesquels il n'y a pas de correspondances en fonction du type de jointure LEFT ou RIGHT select table1.toto,table2.tata from table1 as t1 LEFT OUTER join table2 as t2 on t1.id=t2.id
Pour compléter la liste, en plus du LEFT OUTER JOIN (ou LEFT JOIN) et du RIGHT OUTER JOIN (ou RIGHT JOIN), il y a également la jointure externe complète avec le FULL OUTER JOIN (ou FULL JOIN), c'est-à-dire l'équivalent d'un LEFT JOIN et d'un RIGHT JOIN en même temps
Sébastien
Fr
Je vous conseil l'excelent SQL de A à Z de Fred Brouard (Qui répond d'ailleurs souvent sur ce Newsgroup). J'ai aussi acheté son livre qui est très didactique pour les débutants mais qui permet aussi de faire de bonne révision pour les initiés.
Bonjour, ................. Outer Join Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou droite pour lesquels il n'y a pas de correspondances en fonction du type de jointure LEFT ou RIGHT select table1.toto,table2.tata from table1 as t1 LEFT OUTER join table2 as t2 on t1.id=t2.id
Pour compléter la liste, en plus du LEFT OUTER JOIN (ou LEFT JOIN) et du RIGHT OUTER JOIN (ou RIGHT JOIN), il y a également la jointure externe complète avec le FULL OUTER JOIN (ou FULL JOIN), c'est-à-dire l'équivalent d'un LEFT JOIN et d'un RIGHT JOIN en même temps
Sébastien
Je vous conseil l'excelent SQL de A à Z de Fred Brouard (Qui répond
d'ailleurs souvent sur ce Newsgroup).
J'ai aussi acheté son livre qui est très didactique pour les débutants
mais qui permet aussi de faire de bonne révision pour les initiés.
Bonjour,
.................
Outer Join
Idem que l'Inner join mais rajoute les enregistrements de la table
gauche ou droite pour lesquels il n'y a pas de correspondances en
fonction du type de jointure LEFT ou RIGHT
select table1.toto,table2.tata
from table1 as t1
LEFT OUTER join table2 as t2
on t1.id=t2.id
Pour compléter la liste, en plus du LEFT OUTER JOIN (ou LEFT JOIN) et du
RIGHT OUTER JOIN (ou RIGHT JOIN), il y a également la jointure externe
complète avec le FULL OUTER JOIN (ou FULL JOIN), c'est-à-dire
l'équivalent d'un LEFT JOIN et d'un RIGHT JOIN en même temps
Je vous conseil l'excelent SQL de A à Z de Fred Brouard (Qui répond d'ailleurs souvent sur ce Newsgroup). J'ai aussi acheté son livre qui est très didactique pour les débutants mais qui permet aussi de faire de bonne révision pour les initiés.
Bonjour, ................. Outer Join Idem que l'Inner join mais rajoute les enregistrements de la table gauche ou droite pour lesquels il n'y a pas de correspondances en fonction du type de jointure LEFT ou RIGHT select table1.toto,table2.tata from table1 as t1 LEFT OUTER join table2 as t2 on t1.id=t2.id
Pour compléter la liste, en plus du LEFT OUTER JOIN (ou LEFT JOIN) et du RIGHT OUTER JOIN (ou RIGHT JOIN), il y a également la jointure externe complète avec le FULL OUTER JOIN (ou FULL JOIN), c'est-à-dire l'équivalent d'un LEFT JOIN et d'un RIGHT JOIN en même temps