RE: [GENERAL] Simulating an outer join - Mailing list pgsql-general

From Culberson, Philip
Subject RE: [GENERAL] Simulating an outer join
Date
Msg-id A95EFC3B707BD311986C00A0C9E95B6A04B3ED@datmail03.dat.com
Whole thread Raw
List pgsql-general
How about no column at all?  I see Oracle do a lot of these.  Maybe for
referential integrity checks?

test1=> select 'WORKS!' as "Result" from geo
test1-> where EXISTS (select null from geo where city = 'Portland' and state
= 'OR');
Result
------
WORKS!
(1 row)



-----Original Message-----
From: Bruce Momjian [mailto:pgman@candle.pha.pa.us]
Sent: Thursday, January 13, 2000 5:07 AM
To: Julian Scarfe
Cc: PostgreSQL-general
Subject: Re: [GENERAL] Simulating an outer join


> Bruce Momjian wrote:
>
> > I am just writing the EXISTS section from my book.  I don't think it
> > matters what fields are returned from an EXISTS subquery.  If I am
> > wrong, someone please let me know.
>
> Celko also writes (in his chapter on EXISTS in "SQL for Smarties"):
>
> "In general the SELECT * option should perform better than the actual
column.
> It lets the query optimizer decide which column to use.  If a column has
an
> index on it, then simply seeing a pointer to the index is enough to
determine
> that something exists."
>
> Obviously you're in a much better position than me to judge whether that's
the
> case in pgsql!  But it might be worth a test.

In psql, I think * would generate all the columns, then throw it away,
while  a specific column would only carry around that column in the
subquery result. so  a single column is better.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

************

pgsql-general by date:

Previous
From: admin
Date:
Subject: oid data type
Next
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] oid data typeu