AI Rumman wrote: > Which one is good - join between table or using exists in where > condition? Your example wouldn't return the same results unless there was at most one matching row in b and one matching row in c, at least without resorting to DISTINCT (which you don't show). So, be careful of not getting the wrong results in an attempt to optimize. You don't say which version of PostgreSQL you're using, but if its a fairly recent major version, I would expect nearly identical performance if the queries returned the same results without DISTINCT, and would usually expect better results for the EXISTS than the JOIN with DISTINCT. -Kevin -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance