X-Original-To: pgsql-docs-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 9BEC9D1B4FE for ; Thu, 30 Oct 2003 22:56:35 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 53545-06 for ; Thu, 30 Oct 2003 18:56:06 -0400 (AST) Received: from sss.pgh.pa.us (unknown [192.204.191.242]) by svr1.postgresql.org (Postfix) with ESMTP id A0B46D1B4F4 for ; Thu, 30 Oct 2003 18:56:03 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.12.10/8.12.10) with ESMTP id h9UMu4it003688; Thu, 30 Oct 2003 17:56:04 -0500 (EST) To: Stefan Weiss Cc: pgsql-docs@postgresql.org Subject: Re: INNER JOINS in sql-select.html In-reply-to: <1503129.DJSjvup6Wb@weyoun.foo.at> References: <1503129.DJSjvup6Wb@weyoun.foo.at> Comments: In-reply-to Stefan Weiss message dated "Mon, 27 Oct 2003 23:09:37 +0100" Date: Thu, 30 Oct 2003 17:56:04 -0500 Message-ID: <3687.1067554564@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200310/40 X-Sequence-Number: 2060 Stefan Weiss writes: > From : > | A CROSS JOIN or INNER JOIN is a simple Cartesian product, the same > | as you get from listing the two items at the top level of FROM. CROSS > | JOIN is equivalent to INNER JOIN ON (TRUE), that is, no rows are > | removed by qualification. > I thought that by using the second form, you would be able to do > 'explicit' joins, effectivly telling the planner in which order to > join multiple tables (in case you have to join 10+ tables)? They are semantically equivalent, but not necessarily the same from a performance point of view. The potential performance issues are covered elsewhere; I think it would just obfuscate matters to try to include that topic here. regards, tom lane