Oliver Dizon <johnoliver@rtzassociates.com> writes:
> Hi Guys,
> I hope I'm in the right place to throw this. I just want to ask the reason behind this weird scenario.
> All records were deleted in a table even if the subquery in the where clause has a missing a column.
> --from a certain script where table_id is not yet existing on table_sample
> delete from main_table_sample where table_id in (select table_id from table_sample);
> Im expecting that postgres will return an ERROR message like
> 'column "table_id" does not exist on table table_sample'
> Read up on "outer references" in SQL sub-selects. This query is entirely
> legal, although it doesn't do what you want.
> regards, tom lane
It is indeed an example of outer references. I guess I should used aliases for tables in constructing queries with
sub-selectsto avoid this instance.
Thanks!