SQL连接条件和Where条件

时间:2014-08-13 14:01:46

标签: sql join where

我遇到了where条件和内连接条件的问题。

他们是:

例如:

select * from table1 T

inner join table2 F on F.tkey=T.tkey and F.date >= '20140104'

select * from table1 T

inner join table2 F on F.tkey=T.tkey

where F.date >= '20140104'

**这里执行得更快,为什么?

1 个答案:

答案 0 :(得分:1)

任何SQL查询的执行顺序是:

FROM - > ON - > JOIN - >在哪里 - > GROUP BY - > WITH CUBE或WITH ROLLUP-> HAVING-> SELECT-> DISTINCT-> ORDER BY - > TOP

所以第一个会执行得更快,因为它会在加入自身的同时根据给定的条件过滤行,其中第二个查询将首先连接表,然后去过滤行