RE: [HACKERS] Re: Subselects open issue Nr. 5
Michael Meskes <meskes@topsystem.de>
From: "Meskes, Michael" <meskes@topsystem.de>
To: "'Vadim B. Mikheev'" <vadim@sable.krasnoyarsk.su>, Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
Cc: "'pgsql-hackers@hub.org'" <pgsql-hackers@hub.org>, Michael Meskes <meskes@topsystem.de>, ocie@paracel.com
Date: 1998-02-16T10:22:48Z
Lists: pgsql-hackers
Yes, and Oracle7 also. I think with NULL values Andreas is right. The whole statement should be NULLed. That to me is the intuitive behaviour. Michael -- Dr. Michael Meskes, Project-Manager | topsystem Systemhaus GmbH meskes@topsystem.de | Europark A2, Adenauerstr. 20 meskes@debian.org | 52146 Wuerselen Go SF49ers! Go Rhein Fire! | Tel: (+49) 2405/4670-44 Use Debian GNU/Linux! | Fax: (+49) 2405/4670-10 > -----Original Message----- > From: Vadim B. Mikheev [SMTP:vadim@sable.krasnoyarsk.su] > Sent: Sunday, February 15, 1998 12:33 PM > To: Zeugswetter Andreas SARZ > Cc: 'pgsql-hackers@hub.org'; Michael Meskes; ocie@paracel.com > Subject: Re: [HACKERS] Re: Subselects open issue Nr. 5 > > Ok. I'll fix this. As I see, this is exactly what Oracle 6 does, but > > Zeugswetter Andreas SARZ wrote: > > > > Informix treats the subselect as NULL if no rows are returned. > > Therefore all parent rows that are not null are returned. > > > > select * from taba where a not in (<a select returning no row>); > -- > > is same as > > select * from taba where a is not null; > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Oracle returns tuples with A being NULL!!! and more of that (table B > is empty): > > SQL> select count(*) from a where x > ALL (select * from b); > > COUNT(*) > ---------- > 2 > > and result is the same for all OP-s with ALL modifier... And > > SQL> select count(*) from a where x in (select * from b); > > COUNT(*) > ---------- > 0 > having tuple with NULL in X... > > Who's right ? > What standard says ? > > Vadim