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:
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.
>
-
- 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 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: