Podzapytanie PostgreSQL z błędem składni daje poprawny wynik

Co tu się dzieje?

Mam dwie tabele, test1 i test2:

create table test1 (id1 int4 primary key);
create table test2 (id2 int4 primary key);

Zgodnie z oczekiwaniami to zapytanie:

select id1 from test2;

powoduje błąd składniowy:

ERROR:  column "id1" does not exist
LINE 1: select id1 from test2;

Jednak gdy próbuję wykonać to zapytanie:

select * from test1 where id1 in (select id1 from test2);

PostgreSQL nie narzeka, wykonuje zapytanie i daje mi:

 id1
-----
(0 rows)

Czy jest w tym jakaś logika? Czy powinienem zgłosić błąd?

questionAnswers(1)

yourAnswerToTheQuestion