可能重复:
MySQL: Inner join vs Where
Explicit vs implicit SQL joinsMySQL性能优化:加入ON VS WHERE
有什么不同的表现明智的,当我们需要运行 “JOIN ON” 和“WHERE连接查询“条款? (无论表格的数量或表格中的条目数量)
不确定是否已经讨论过该主题。即使如此,我也想知道是否使用最新版本的MySQL(5.1及以上版本),事情已经发生了变化。
一个解释性声明清楚地表明考虑行数的差异很大。
我使用的语法是:
使用JOIN ON
SELECT <field names>
FROM <table1>
JOIN <table2> ON <join_condition>
AND JOIN <table3> ON <join_condition>
AND JOIN <table4> ON <join_condition>
....
使用WHERE
SELECT <field names>
FROM <table names list separated by comma>
WHERE <join_condition>
AND <join_condition>
AND <join_condition>
....
所以不能确定是否使用JOIN的ON或WHERE子句中会有所作为。请协助。
重复http://stackoverflow.com/questions/5273942/mysql-inner-join-vs-where和http://stackoverflow.com/questions/44917/explicit-vs-implicit-sql-joins – 2011-03-17 12:22:53
嗯......它可能不是重复的,因为Vasanthakumar建议解释计划是不同的。你能提供这些计划吗? – 2011-03-17 12:32:35
不知道关于MySQL,但在Oracle中这些是完全等价的。 – 2011-03-17 12:36:26