0

如果我编写以下查询会发生什么:

SELECT *
FROM table
WHERE name IN (select name from someotherTable where id = 3)

并且内部查询(在 IN 语句内)不返回结果集

外部 where 会自动评估为 True 还是 False?

4

2 回答 2

6

这将返回一个空集。

于 2012-09-25T19:42:49.980 回答
1

让我们测试一下;

CREATE TABLE TableA ( id INT );
INSERT INTO TableA VALUES (1);
CREATE TABLE TableB ( id INT );
SELECT * FROM TableA
  WHERE id IN (SELECT * FROM TableB);

(empty set)
于 2012-09-25T19:47:13.980 回答