logoalt Hacker News

Diggsey05/04/20251 replyview on HN

Why would it only be run once? The WHERE condition of the outer query is run multiple times: once for each row, so of course it can return TRUE multiple times.

For example:

    DELETE FROM example WHERE id = (SELECT RANDOM(0, 100) FROM other_table LIMIT 1)
This could delete multiple rows in principle, since there may be multiple rows where the `=` expression is true.

Replies

swid05/05/2025

After thinking about it more, yes I agree with your take. Maybe it can even delete different ids using an =.

show 1 reply