2011-01-27 38 views
1

查詢select 1 from dual where false返回0行,但查詢select max(1) from dual where false返回1行且爲NULL內容。爲什麼聚合函數返回至少1行

這是什麼原因?

+0

如果您通過添加group到查詢它不返回任何東西 – 2011-01-27 09:40:43

回答

3

帶有where 1=0子句的查詢過濾掉所有行,並返回一個空集。

通過在整個表上進行聚合而沒有組的聚合。如果該表不包含任何行,則最大值將爲null,但它仍會計算總計。