首页 > 解决方案 > 这些连接有什么区别?

问题描述

有什么区别

SELECT COUNT(*)
FROM TOOL T
    LEFT OUTER JOIN PREVENT_USE P ON T.ID = P.TOOL_ID
WHERE
    P.ID IS NULL

SELECT COUNT(*)
FROM TOOL T
    LEFT OUTER JOIN PREVENT_USE P ON T.ID = P.TOOL_ID AND P.ID IS NULL

?

标签: tsql

解决方案


底部查询相当于

SELECT COUNT(*)
FROM TOOL T

因为它不限制结果集,而是为连接的右侧部分生成一个包含大量空字段的连接表。

第一个查询是左反连接。


推荐阅读