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
,很不常见?
在 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
,很不常见?