有人可以解释为什么以下查询运行并且不会在SQL Server 2012中返回错误吗?当表格中没有列BADCOLUMN时?
SELECT et
,mdt
FROM csv_import as a
where et IN (2,73)
AND siteid IN (
select BADCOLUMN
from sometable
where SN in ('a','b','c')
)
如果只运行子查询
select BADCOLUMN
from sometable
where SN in ('a','b','c')
您将收到一条错误消息,指出该列不存在。但是如果你运行完整的查询 你不会收到错误,而且where子句的那一部分会被忽略
对我来说,完整的查询不应该运行,因为它的一部分包含错误? 意见或原因?