Nig*_*ker 5 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
Run Code Online (Sandbox Code Playgroud)
DT.DeviceID = '1339759958'在开始使用内连接之前我需要做.我使用sql server.
我发现很难相信它会有所不同.查询优化器应该在连接之前应用谓词,如果它计算出这样做更有效.您可能需要执行此操作的唯一情况是优化器做出错误选择(至少对于内部联接 - 外部联接有效的情况).
尝试添加in 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'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,由于您正在执行操作,因此结果是相同的INNER JOIN。在右侧表上ON执行LEFT JOIN和过滤时,在子句中添加条件可能会非常不同。