Rejoindre plusieurs tables dans SQL
Peut sombody m'Explique sur les jointures?
Jointure interne sélectionne des données communes sur la base d'où la condition.
Jointure externe gauche sélectionne toutes les données à partir de la gauche, indépendamment de la commune, mais prend de données commune à partir de la table de droite et vice versa pour le Droit de l'extérieur.
Je connais les bases, mais la question reste quand il s'agit de participer à de 5, 8, 10 tables.
Supposons que j'ai 10 tables de jointure. Si j'ai jointure interne avec les 5 premières tables et maintenant, essayez d'appliquer un left join avec la 6ème table, maintenant comment la requête?
Je veux dire, maintenant, l'ensemble des résultats des 5 premières tables seront prises en tant que table de gauche et le 6ème sera considerded comme table de Droite? Ou seulement Cinquième de la table sera considéré comme de la gauche et 6 comme de droite? Merci de m'aider à ce sujet.
source d'informationauteur Prince
Vous devez vous connecter pour publier un commentaire.
Lors de la jointure de plusieurs tables à la sortie de chaque jointure logiquement forme une table virtuelle qui va dans le prochain rejoindre.
Ainsi dans l'exemple dans votre question, le résultat composite de rejoindre les 5 premières tables seraient traités comme de la main gauche de la table.
Voir Itzik Ben-Gan Logique du Traitement de la Requête de l'Affiche pour en savoir plus sur cette.
Les tables virtuelles impliqués dans les jointures peuvent être contrôlés par le positionnement de l'
ON
clause. Par exempleest équivalent à
(T1 Inner Join T2) Inner Join (T3 Left Join T4)
Il est utile de penser à
JOIN
's dans l'ordre, de sorte que le premier est correct.Serait tous les champs de
a
etb
etc
où tous lesON
critères de correspondance, plus les valeurs ded
où ses critères correspondent plus tout le contenu dee
où tous ses critères de correspondance.Je sais
RIGHT JOIN
est parfaitement acceptable, mais j'ai trouvé dans mon expérience, il n'est pas nécessaire - j'ai presque toujours vient se joindre à des choses de gauche à droite.> Simple JOINTURE INTERNE AFFICHER le code...
Vous pouvez appliquer rejoindre comme ça..
Ici, au lieu d'un.* et dans la condition where, vous pouvez afficher la colonne(déposé) à qui vous le souhaitez et selon l'état dans la condition where. Vous pouvez insérer plus de table et base de données selon votre choix. Mais l'esprit que vous devez mentionner nom de base de données d'alias et si vous travaillez dans une base de données différente.