4.24) How do I do an outer join?
- PostgreSQL 7.1 and later supports outer joins. Here are two examples:
+ PostgreSQL 7.1 and later supports outer joins using the SQL standard
+ syntax. Here are two examples:
SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);
- 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.
+ These identical queries join t1.col to t2.col, and also return any
+ unjoined rows in t1 (those with no match in t2). A RIGHT join would
+ add unjoined rows of t2. A FULL join would return the matched rows
+ plus all 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
4.24) How do I do an outer join?
-
PostgreSQL 7.1 and later supports outer joins. Here are two
- examples:
+
PostgreSQL 7.1 and later supports outer joins using the SQL
+ standard syntax. Here are two examples:
SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);
- 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
+ These identical queries join t1.col to t2.col, and also return any
+ unjoined rows in t1 (those with no match in t2). A
+ RIGHT join would add unjoined rows of t2. A
+ FULL join would return the matched rows plus all
unjoined rows from t1 and t2. The word OUTER is
optional and is assumed in LEFT,
RIGHT, and FULL joins. Ordinary joins