mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Update FAQ.
This commit is contained in:
17
doc/FAQ
17
doc/FAQ
@ -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
|
|||||||
<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>
|
||||||
|
Reference in New Issue
Block a user