Re: Query will execute when inner query have issue
| От | Tom Lane |
|---|---|
| Тема | Re: Query will execute when inner query have issue |
| Дата | |
| Msg-id | 5259.1579790613@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Query will execute when inner query have issue (selva kumar <selva.logic@hotmail.com>) |
| Ответы |
RE: Query will execute when inner query have issue
|
| Список | pgsql-bugs |
selva kumar <selva.logic@hotmail.com> writes:
> We tried query in a following manner.
> SELECT * FROM A where A.id IN (SELECT B.id from B);
> In the above query Table B does not have id. But this query return all A table records
You sure that's *actually* what you wrote? The usual mistake is to
fail to qualify the inner query's column reference at all:
SELECT * FROM A where A.id IN (SELECT id from B);
If B has no "id" column, it's still a legal SQL query, interpreted as
SELECT * FROM A where A.id IN (SELECT A.id from B);
so as long as B has any rows, the IN-test succeeds for every non-null
value of A.id. People get burned by that all the time, but it's
acting as required by the SQL standard.
regards, tom lane
В списке pgsql-bugs по дате отправления: