0
如果像ALL(某些子查詢)那樣處於ALL opertar的子查詢返回空集,那麼它總是返回TRUE。像那樣:SELECT * FROM some_table WHERE TRUE = ALL(空集)。如何改變這種行爲?ALL and empty set = TRUE
如果像ALL(某些子查詢)那樣處於ALL opertar的子查詢返回空集,那麼它總是返回TRUE。像那樣:SELECT * FROM some_table WHERE TRUE = ALL(空集)。如何改變這種行爲?ALL and empty set = TRUE
如果在子查詢:
ALL (SELECT ...)
返回空集,結果是NULL
:
regress=> select all(SELECT true WHERE false);
bool
------
(1 row)
如果你想真正的,你必須使用3210。由於語法限制,您不能直接使用all
作爲表達式,所以您必須將其包裝在子查詢中,如:
regress=> select coalesce((select all(SELECT true WHERE false)), true);
coalesce
----------
t
(1 row)