sql - 如何在 INNER JOIN 之前执行 WHERE 子句

标签 sql sql-server inner-join

我如何进行这样的查询?

select Distinct  Station  , Slot , SubSlot, CompID , CompName 
from DeviceTrace as DT DT.DeviceID = '1339759958' 
inner join CompList as CL  
where  and DT.CompID = CL.CompID

在开始内部联接之前,我需要执行DT.DeviceID = '1339759958'。 我使用 sql 服务器。

最佳答案

尝试添加ON子句。

SELECT DISTNCT Station, Slot, SubSlot, CompID, CompName 
FROM   DeviceTrace AS DT INNER JOIN CompList AS CL 
        ON  DT.CompID = CL.CompID AND
            DT.DeviceID = '1339759958'

在这种情况下,结果是相同的,因为您正在执行INNER JOIN。在执行 LEFT JOIN 并在右侧表上进行过滤时,在 ON 子句中添加条件可能会非常不同。

关于sql - 如何在 INNER JOIN 之前执行 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632901/

相关文章:

sql-server - 在 Linux 上使用窗口身份验证的 Sqoop 和 MSSQL 失败

sql-server - Power BI 桌面使用与我登录的用户名不同的用户名连接到数据源

asp.net - 我有一个存储过程需要从同一个表中提取信息两次。如何使用关联名称?

mysql - mysql 中的 Rownum 与内连接

php - 如何在登录脚本中使用 session

php - Mysql仅在未达到限制时插入

mysql - 需要一个查询来显示主持了多少场比赛的裁判的名字和姓氏

c# - 如何更改 Entity Framework 为 Datetime 生成 SQL 精度的方式

mysql - SQL多行的内部连接

mysql - SQL:两个可为空的属性,其中之一应该具有值