Commit 505cdd58 authored by Bruce Momjian's avatar Bruce Momjian

Update FAQ.

parent 5f93794f
...@@ -948,15 +948,20 @@ SELECT * ...@@ -948,15 +948,20 @@ SELECT *
4.24) How do I do an outer join? 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 * SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col); FROM t1 LEFT OUTER JOIN t2 USING (col);
This will join t1.col to t2.col, and return any unjoined rows in t1 These identical queries join t1.col to t2.col, and return any unjoined
with NULL values for t2 columns. A RIGHT join would return unjoined rows in t1. A RIGHT join would return unjoined rows of table t2. A
rows of table t2. A FULL join would return unjoined rows from t1 and FULL join would return unjoined rows from t1 and t2. The word OUTER is
t2. The word OUTER is optional and is assumed in LEFT, RIGHT, and FULL optional and is assumed in LEFT, RIGHT, and FULL joins. Ordinary joins
joins. Ordinary joins are called INNER joins. are called INNER joins.
In previous releases, outer joins can be simulated using UNION and NOT In previous releases, outer joins can be simulated using UNION and NOT
IN. For example, when joining tab1 and tab2, the following query does IN. For example, when joining tab1 and tab2, the following query does
an outer join of the two tables: an outer join of the two tables:
......
...@@ -1224,21 +1224,26 @@ Lobby your company to join W3C, see http://www.w3.org/Consortium ...@@ -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><A name="4.24">4.24</A>) How do I do an <I>outer</I> join?<BR>
</H4> </H4>
<P>PostgreSQL 7.1 and later supports outer joins. Here is an <P>PostgreSQL 7.1 and later supports outer joins. Here are two
example:</P> examples:</P>
<PRE>
SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
</PRE>
or
<PRE> <PRE>
SELECT * SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col); FROM t1 LEFT OUTER JOIN t2 USING (col);
</PRE> </PRE>
This will join t1.col to t2.col, and return any unjoined rows in t1 These identical queries join t1.col to t2.col, and return any
with <SMALL>NULL</SMALL> values for t2 columns. A unjoined rows in t1. A <SMALL>RIGHT</SMALL> join would return
<SMALL>RIGHT</SMALL> join would return unjoined rows of table t2. A unjoined rows of table t2. A <SMALL>FULL</SMALL> join would return
<SMALL>FULL</SMALL> join would return unjoined rows from t1 and t2. unjoined rows from t1 and t2. The word <SMALL>OUTER</SMALL> is
The word <SMALL>OUTER</SMALL> is optional and is assumed in optional and is assumed in <SMALL>LEFT</SMALL>,
<SMALL>LEFT</SMALL>, <SMALL>RIGHT</SMALL>, and <SMALL>FULL</SMALL> <SMALL>RIGHT</SMALL>, and <SMALL>FULL</SMALL> joins. Ordinary joins
joins. Ordinary joins are called <SMALL>INNER</SMALL> joins.<BR> are called <SMALL>INNER</SMALL> joins.</P>
<BR>
In previous releases, outer joins can be simulated using <P>In previous releases, outer joins can be simulated using
<SMALL>UNION</SMALL> and <SMALL>NOT IN</SMALL>. For example, when <SMALL>UNION</SMALL> and <SMALL>NOT IN</SMALL>. For example, when
joining <I>tab1</I> and <I>tab2,</I> the following query does an joining <I>tab1</I> and <I>tab2,</I> the following query does an
<I>outer</I> join of the two tables:<BR> <I>outer</I> join of the two tables:<BR>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment