Re: exists and is not null equivalence in query
От | Tom Lane |
---|---|
Тема | Re: exists and is not null equivalence in query |
Дата | |
Msg-id | 9371.1243523944@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | exists and is not null equivalence in query (Raphael Bauduin <rblists@gmail.com>) |
Список | pgsql-sql |
Raphael Bauduin <rblists@gmail.com> writes: > select count(t.trame_id) as count, v.voiture_num as voitureNum from > arch_trames t left join voiture v on (v.tag_id=t.tag_id) > where > (t.recept_time >= 1243509320691) > and exists (select v2.voiture_num from voiture v2 where v2.tag_id=v.tag_id) > group by v.voiture_num order by v.voiture_num > Am I right that I can replace the "and exists..." clause by > "and v.voiture_num is not null " in this case? Well, more like "and v.tag_id is not null". But yes, the EXISTS seems pretty stupid. Also, having done that, the left join reduces to a plain inner join and you don't even need the NOT NULL. IOW this should just be select count(t.trame_id) as count, v.voiture_num as voitureNum from arch_trames t join voiture v on (v.tag_id=t.tag_id) where (t.recept_time >= 1243509320691) group by v.voiture_num order by v.voiture_num regards, tom lane
В списке pgsql-sql по дате отправления: