如果我写下面的查询会发生什么:
SELECT *
FROM table
WHERE name IN (select name from someotherTable where id = 3)
并且内部查询(在IN语句内)不返回结果集
外部会自动评估为True还是False?
答案 0 :(得分:7)
这将返回一个空集。
答案 1 :(得分: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)