SQL 所有命令,子查询 RETURNS NULL 但输出给出所有记录

SQL ALL COMMAND, SUBQUERY RETURNS NULL BUT OUTPUT GIVES ALL RECORDS

在 SQL 中使用 ALL 命令,子查询 returns NULL 值但查询给出了 table.

中的所有记录
SELECT * FROM STORES
WHERE STORE_NUMBER = ALL(SELECT STORE_NUMBER FROM STORES WHERE STORE_NUMBER>10000)

子查询:

SELECT STORE_NUMBER FROM STORES WHERE STORE_NUMBER>10000

Returns 0 条记录

但是当我 运行 整个查询时,它给了我 Stores table 中的所有记录。不是应该给 NULL 值吗?

嗯,根据 Stnadrad SQL,这就是 = ALL 应该如何工作:如果子查询 returns 没有行(或所有返回的行共享相同的值)条件被评估为 TRUE.

但是为什么要用= ALL,很不常见?