summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2017-07-20 16:41:26 +0000
committerTom Lane2017-07-20 16:41:26 +0000
commited3dc224e5aabd3cb0a5c348107f973fe5b10b0d (patch)
treeece8d0c328fc8523a6ea95810a015e623f524175
parenteb145fdfea91ee5dc6d7aad0309527f810f7c90a (diff)
Doc: clarify description of degenerate NATURAL joins.
Claiming that NATURAL JOIN is equivalent to CROSS JOIN when there are no common column names is only strictly correct if it's an inner join; you can't say e.g. CROSS LEFT JOIN. Better to explain it as meaning JOIN ON TRUE, instead. Per a suggestion from David Johnston. Discussion: https://postgr.es/m/CAKFQuwb+mYszQhDS9f_dqRrk1=Pe-S6D=XMkAXcDf4ykKPmgKQ@mail.gmail.com
-rw-r--r--doc/src/sgml/queries.sgml4
-rw-r--r--doc/src/sgml/ref/select.sgml7
2 files changed, 7 insertions, 4 deletions
diff --git a/doc/src/sgml/queries.sgml b/doc/src/sgml/queries.sgml
index 30792f45f1..0588da2912 100644
--- a/doc/src/sgml/queries.sgml
+++ b/doc/src/sgml/queries.sgml
@@ -391,8 +391,8 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
consisting of all column names that appear in both
input tables. As with <literal>USING</>, these columns appear
only once in the output table. If there are no common
- column names, <literal>NATURAL</literal> behaves like
- <literal>CROSS JOIN</literal>.
+ column names, <literal>NATURAL JOIN</literal> behaves like
+ <literal>JOIN ... ON TRUE</literal>, producing a cross-product join.
</para>
<note>
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index 211e4c320c..57f11e66fb 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -603,9 +603,12 @@ TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ]
<varlistentry>
<term><literal>NATURAL</literal></term>
<listitem>
- <para><literal>NATURAL</literal> is shorthand for a
+ <para>
+ <literal>NATURAL</literal> is shorthand for a
<literal>USING</> list that mentions all columns in the two
- tables that have the same names.
+ tables that have matching names. If there are no common
+ column names, <literal>NATURAL</literal> is equivalent
+ to <literal>ON TRUE</>.
</para>
</listitem>
</varlistentry>