On Mon, Jun 28, 2021 at 8:34 AM PG Doc comments form <nore...@postgresql.org> wrote:
> For example: > UPDATE table1 SET status='expired' WHERE id in (SELECT wrong_id IN table2) > > This will update every row in table1if wrong_id doesn't exist, ignoring the > ERROR: column "wrong_id" does not exist from the subquery. > The subquery never provokes that error by virtue of the fact it is a subquery. It's only if you run that as a standalone query do you see the error. This is because correlated subqueries are a thing (and, yes, they are documented). https://wiki.postgresql.org/wiki/FAQ#Why_doesn.27t_PostgreSQL_report_a_column_not_found_error_when_using_the_wrong_name_in_a_subquery.3F David J.