在多列条件下使用内连接与使用WHere子句

时间:2014-10-02 17:05:12

标签: mysql sql-server inner-join where-clause

我有自我加入需要的表(通过ROW编号和分区等获得)  我试图找到最后一次访问的地方,并试图在最后进行平均

我的问题是,使用多个INNER加入条件或使用Where子句更好吗?

原始表

RN,AppId,UserId,Datetime,Country

多个内部连接条件

SELECT TBL0.AppId   , TBL0.UserId, TBL0.Datetime, TBL1.Country  ,
Diff   ( TBL0.Datetime,TBL1.Datetime)    AS TimeSpans
FROM TBL AS TBL0  INNER JOIN TBL AS TBL1   
 ON TBL0.UserXuid == TBL1.UserId  AND TBL0.AppId == TBL1.AppId

 WHERE TBL0.RN -1  == TBL0.RN 

关于Where子句

SELECT TBL0.AppId   , TBL0.UserId, TBL0.Datetime, TBL1.Country  ,
Diff   ( TBL0.Datetime,TBL1.Datetime)    AS TimeSpans
FROM TBL AS TBL0  INNER JOIN TBL AS TBL1   
ON TBL0.UserXuid == TBL1.UserId

WHERE TBL0.RN -1  == TBL0.RN AND TBL0.AppId == TBL1.AppId

哪个更好,性能等等

1 个答案:

答案 0 :(得分:1)

为什么不亲自看看? SQL Server有一个内置的分析工具,您可以在其中查看详细的执行计划。请参阅here