David et al, How about something like this?
Cheers, Colin
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index e603b76..a68014b 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -33,13 +33,14 @@ PostgreSQL documentation <refsynopsisdiv> <synopsis> [ WITH [ RECURSIVE ] <replaceable class="parameter">with_query</replaceable> [, ...] ] -SELECT [ ALL | DISTINCT [ ON ( <replaceable class="parameter">expression</replaceable> [, ...] ) ] ] +{ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="parameter">expression</replaceable> [, ...] ) ] ] * | <replaceable class="parameter">expression</replaceable> [ [ AS ] <replaceable class="parameter">output_name</replaceable> ] [, ...] [ FROM <replaceable class="parameter">from_item</replaceable> [, ...] ] [ WHERE <replaceable class="parameter">condition</replaceable> ] [ GROUP BY <replaceable class="parameter">expression</replaceable> [, ...] ] [ HAVING <replaceable class="parameter">condition</replaceable> [, ...] ] [ WINDOW <replaceable class="parameter">window_name</replaceable> AS ( <replaceable class="parameter">window_definition</replaceable> ) [, ...] ] +| TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] } [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] <replaceable class="parameter">select</replaceable> ] [ ORDER BY <replaceable class="parameter">expression</replaceable> [ ASC | DESC | USING <replaceable class="parameter">operator</replaceable> ] [ NULLS { FIRST | LAST } ] [, ...] ] [ LIMIT { <replaceable class="parameter">count</replaceable> | ALL } ] @@ -60,8 +61,6 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="parameter">expression</replac <phrase>and <replaceable class="parameter">with_query</replaceable> is:</phrase> <replaceable class="parameter">with_query_name</replaceable> [ ( <replaceable class="parameter">column_name</replaceable> [, ...] ) ] AS ( <replaceable class="parameter">select</replaceable> | <replaceable class="parameter">values</replaceable> | <replaceable class="parameter">insert</replaceable> | <replaceable class="parameter">update</replaceable> | <replaceable class="parameter">delete</replaceable> ) - -TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] </synopsis> </refsynopsisdiv> @@ -198,6 +197,27 @@ TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] <literal>UPDATE</literal> privilege as well (for at least one column of each table so selected). </para> + + <refsect2 id="SQL-TABLE"> + <title><literal>TABLE</literal> Command</title> + + <para> + The command +<programlisting> +TABLE <replaceable class="parameter">name</replaceable> +</programlisting> + is equivalent to +<programlisting> +SELECT * FROM <replaceable class="parameter">name</replaceable> +</programlisting> + It can be used as a top-level command or as a space-saving syntax + variant in parts of complex queries. Only the <literal>WITH</>, <literal>ORDER BY</>, <literal>LIMIT</>, + and Locking clauses and set operations can be used with <command>TABLE</>; the + <literal>WHERE</> clause and any form of aggregation cannot be used. + + Note that on this page and other places in the documentation, where <command>SELECT</> is mentioned, <command>TABLE</> is also assumed, subject to the restrictions mentioned here. + </para> + </refsect2> </refsect1> <refsect1> @@ -211,7 +231,7 @@ TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] subqueries that can be referenced by name in the primary query. The subqueries effectively act as temporary tables or views for the duration of the primary query. - Each subquery can be a <command>SELECT</command>, <command>VALUES</command>, + Each subquery can be a <command>SELECT</command>, <command>TABLE</>, <command>VALUES</command>, <command>INSERT</command>, <command>UPDATE</command> or <command>DELETE</command> statement. When writing a data-modifying statement (<command>INSERT</command>, @@ -1437,23 +1457,6 @@ SELECT * FROM (SELECT * FROM mytable FOR UPDATE) ss ORDER BY column1; </para> </caution> </refsect2> - - <refsect2 id="SQL-TABLE"> - <title><literal>TABLE</literal> Command</title> - - <para> - The command -<programlisting> -TABLE <replaceable class="parameter">name</replaceable> -</programlisting> - is completely equivalent to -<programlisting> -SELECT * FROM <replaceable class="parameter">name</replaceable> -</programlisting> - It can be used as a top-level command or as a space-saving syntax - variant in parts of complex queries. - </para> - </refsect2> </refsect1> <refsect1>
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers