From: | Jean-Christian Imbeault <jc(at)mega-bucks(dot)co(dot)jp> |
---|---|
To: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | IN vs EXIIST |
Date: | 2002-09-19 02:40:20 |
Message-ID: | 3D893914.5030401@mega-bucks.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I find myself writing a lot of queries with this pattern:
select distinct key1 from A where id not it
(select distinct key1 from A where x='false');
The reason being that key1 is not a primary key (key1, key2 is the
primary key). i.e. I have a table like this
key1 key2 x
------------------
a 1 t
a 2 t
a 3 f
b 1 t
b 2 t
b 3 t
c 3 t
c 4 f
So basically I want key1 values for which all the X's are true.
I've seen many posts saying that using IN is not optimal and replacing
it with EXISTS is much better. I've read the only docs but I can't
understand the difference between the two or how to convert.
Can someone point me to some other docs or explain to me how to convert?
Or is my table schema wrong?
Thanks!
Jc
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Hutton | 2002-09-19 02:47:24 | Aliasing all fields |
Previous Message | Bruce Momjian | 2002-09-19 02:32:43 | Re: [HACKERS] PGXLOG variable worthwhile? |