summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBruce Momjian2001-01-22 06:27:41 +0000
committerBruce Momjian2001-01-22 06:27:41 +0000
commit505cdd5873aa101a58a80ee4bceb8000eb7f5a35 (patch)
tree4c93438976a353158d6dc354cb96e94200e21e8c /doc
parent5f93794f1e046111f548ed9c6c75b891e8a0f7e0 (diff)
Update FAQ.
Diffstat (limited to 'doc')
-rw-r--r--doc/FAQ17
-rw-r--r--doc/src/FAQ/FAQ.html27
2 files changed, 27 insertions, 17 deletions
diff --git a/doc/FAQ b/doc/FAQ
index 75d9e371506..0af6fb11016 100644
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -948,15 +948,20 @@ SELECT *
4.24) How do I do an outer join?
- PostgreSQL 7.1 and later supports outer joins. Here is an example:
+ PostgreSQL 7.1 and later supports outer joins. Here are two examples:
+ SELECT *
+ FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
+
+ or
SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);
- This will join t1.col to t2.col, and return any unjoined rows in t1
- with NULL values for t2 columns. A RIGHT join would return unjoined
- rows of table t2. A FULL join would return unjoined rows from t1 and
- t2. The word OUTER is optional and is assumed in LEFT, RIGHT, and FULL
- joins. Ordinary joins are called INNER joins.
+ These identical queries join t1.col to t2.col, and return any unjoined
+ rows in t1. A RIGHT join would return unjoined rows of table t2. A
+ FULL join would return unjoined rows from t1 and t2. The word OUTER is
+ optional and is assumed in LEFT, RIGHT, and FULL joins. Ordinary joins
+ are called INNER joins.
+
In previous releases, outer joins can be simulated using UNION and NOT
IN. For example, when joining tab1 and tab2, the following query does
an outer join of the two tables:
diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html
index aff8e80df06..2ef4f1eceee 100644
--- a/doc/src/FAQ/FAQ.html
+++ b/doc/src/FAQ/FAQ.html
@@ -1224,21 +1224,26 @@ Lobby your company to join W3C, see http://www.w3.org/Consortium
<H4><A name="4.24">4.24</A>) How do I do an <I>outer</I> join?<BR>
</H4>
- <P>PostgreSQL 7.1 and later supports outer joins. Here is an
- example:</P>
+ <P>PostgreSQL 7.1 and later supports outer joins. Here are two
+ examples:</P>
+<PRE>
+ SELECT *
+ FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
+</PRE>
+or
<PRE>
SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);
</PRE>
- This will join t1.col to t2.col, and return any unjoined rows in t1
- with <SMALL>NULL</SMALL> values for t2 columns. A
- <SMALL>RIGHT</SMALL> join would return unjoined rows of table t2. A
- <SMALL>FULL</SMALL> join would return unjoined rows from t1 and t2.
- The word <SMALL>OUTER</SMALL> is optional and is assumed in
- <SMALL>LEFT</SMALL>, <SMALL>RIGHT</SMALL>, and <SMALL>FULL</SMALL>
- joins. Ordinary joins are called <SMALL>INNER</SMALL> joins.<BR>
- <BR>
- In previous releases, outer joins can be simulated using
+ These identical queries join t1.col to t2.col, and return any
+ unjoined rows in t1. A <SMALL>RIGHT</SMALL> join would return
+ unjoined rows of table t2. A <SMALL>FULL</SMALL> join would return
+ unjoined rows from t1 and t2. The word <SMALL>OUTER</SMALL> is
+ optional and is assumed in <SMALL>LEFT</SMALL>,
+ <SMALL>RIGHT</SMALL>, and <SMALL>FULL</SMALL> joins. Ordinary joins
+ are called <SMALL>INNER</SMALL> joins.</P>
+
+ <P>In previous releases, outer joins can be simulated using
<SMALL>UNION</SMALL> and <SMALL>NOT IN</SMALL>. For example, when
joining <I>tab1</I> and <I>tab2,</I> the following query does an
<I>outer</I> join of the two tables:<BR>