我有以下查询
SELECT COUNT(*)
FROM Table1
WHERE Column1 IN
(SELECT Column1 FROM Table2)
实际上,Table2 中没有名为 Column1 的列。所以如果我们只执行子查询
SELECT Column1 FROM Table2
它会抛出错误 - 列名“Column1”无效。
但是,如果我执行完整的查询,我不会收到任何错误。它正在返回表 1 中的总行数。
所以我想知道这个查询在这种情况下没有给出任何错误的原因以及 IN 子句在这种情况下的工作方式。