weird exists behaviour

Поиск
Список
Период
Сортировка
От Daniel Lopez
Тема weird exists behaviour
Дата
Msg-id 199909230133.DAA16345@atm9.com.dtu.dk
обсуждение исходный текст
Ответы Re: [SQL] weird exists behaviour
Список pgsql-sql
Can someone explain this behaviour (bug? feature?) of EXISTS. 
(also, is EXISTS documented anywhere in the postgres
documentation?)



db=> create table t1 (f1 int4);
CREATE
db=> create table t2 (f2 int4);
CREATE
db=> insert into t1 values (1)
db-> ;
INSERT 6008882 1
db=> insert into t1 values (2);
INSERT 6008883 1
db=> insert into t2 values (1);
INSERT 6008884 1

db=> select * from t1;
f1
--12(2 rows) 
db=> select * from t2;
f2
--1
(1 row)


db=> select * from t1 where f1 not in (select * from t2);
f1
--
2
(1 row)
So  far  so good 


db=> select f1 from t1 where not exists (select * from t2 where t1.f1=t2.f2);
f1
--
2
(1 row)
So  far  so good 

db=> select * from t1 where not exists (select * from t1 where
t1.f1=t2.f2);
f1
--
(0 rows)

(why???? )


db=> select * from t1 where not exists (select * from t1 as t4  where
t1.f1=t2.f2);
f1
--
2
(1 row) 
(and surprisingly this works!)


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Hutton, Rob"
Дата:
Сообщение: RE: [SQL] Re: [INTERFACES] JDBC and getting just assigned serial number
Следующее
От: Roberto Fichera
Дата:
Сообщение: Query performances !?