Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 815194765E1 for ; Wed, 14 Aug 2002 00:55:51 -0400 (EDT) Received: from sss.pgh.pa.us (unknown [192.204.191.242]) by postgresql.org (Postfix) with ESMTP id DFD9F4764AE for ; Wed, 14 Aug 2002 00:55:50 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.12.5/8.12.5) with ESMTP id g7E4trVk004808; Wed, 14 Aug 2002 00:55:53 -0400 (EDT) To: Bruce Momjian Cc: PostgreSQL-documentation Subject: Re: ANSI join types In-reply-to: <200208140312.g7E3CI124506@candle.pha.pa.us> References: <200208140312.g7E3CI124506@candle.pha.pa.us> Comments: In-reply-to Bruce Momjian message dated "Tue, 13 Aug 2002 23:12:18 -0400" Date: Wed, 14 Aug 2002 00:55:53 -0400 Message-ID: <4807.1029300953@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200208/8 X-Sequence-Number: 1426 Bruce Momjian writes: > Also, I can not find documentation on UNION JOINS in our docs. There is none because we don't support it. While I took the trouble to make the parser take it, there's no implementation. I'm not now excited about making it happen ever, because I read this in SQL99: Annex D Deprecated features It is intended that the following features will be removed at a later date from a revised version of this part of ISO/IEC 9075: 1) The ability to specify UNION JOIN in a has been deprecated. BTW, I think the description > * Union: This is different than the UNION operator used to merge the > output of multiple queries. This is the inverse of an Inner, only > rows are returned when no matches are found is pretty poor. As near as I can tell from the SQL92 spec, "x UNION JOIN y" is supposed to produce the same result as (select *, from x) UNION ALL (select ,* from y) where denotes a list of NULLs matching the columnset of y, and similarly for . This behavior has nothing to do with whether any value matches exist between x and y --- it makes no join comparisons at all. regards, tom lane