On 12/9/25 18:29, David G. Johnston wrote:
On Tue, Dec 9, 2025 at 10:14 AM Thiemo Kellner <[email protected]> wrote:

    I feel, you meant to say, the subquery does not return any record
    which is not the same as returns NULL.


For a scalar subquery the final output of a zero-row query is the null value.

To me, it does not look like that (please note the empty line in the last example). Can you point me to the documentation saying that 0 rows is sometimes equal to 1 row?

postgres=# select * from pg_user;
 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |  passwd  | valuntil | useconfig ----------+----------+-------------+----------+---------+--------------+----------+----------+-----------  postgres |       10 | t           | t        | t       | t   | ******** |          |
(1 row)

postgres=# select usename from pg_user where false;
 usename
---------
(0 rows)

postgres=# select null as usename from pg_user;
 usename
---------

(1 row)


Reply via email to