web-dev-qa-db-fra.com

JOIN vs INNER JOIN et FULL OUTER JOIN

Je sais qu'il y a une différence entre INNER JOIN et FULL OUTER JOIN, Je le vois, mais quelle est la différence entre les deux suivants: JOIN ... ON... et INNER JOIN...ON... et encore JOIN...ON... contre FULL OUTER JOIN...ON...

La raison en est que je pense que peut-être que l'utilisation de JOIN fausse une requête sur laquelle je travaille qui est publiée sur SO, lien vers la question ICI.

Donc, fondamentalement, quelle est la différence syntaxique entre les opérations d'ensemble réelles elles-mêmes?

Merci,

35
MCP_infiltrator

JOIN et INNER JOIN sont les mêmes, le mot-clé interne est facultatif car toutes les jointures sont considérées comme des jointures internes, sauf indication contraire. La différence entre JOIN et FULL OUTER JOIN est identique à la différence entre INNER JOIN et FULL OUTER JOIN.

Une INNER JOIN ne renverra des lignes correspondantes que si une ligne du tableau A correspond à plusieurs lignes du tableau B, la ligne du tableau A sera répétée avec chaque ligne du tableau B et vice versa.

UNE FULL OUTER JOIN renverra tout ce qu'une jointure interne fait et renvoie toutes les lignes non correspondantes de chaque table.

42
Ryathal