mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-05 19:09:58 +08:00
Add EXCEPT/INTERSECT doc changes.
This commit is contained in:
parent
58cc2b6ead
commit
0d01fd4e19
@ -24,7 +24,7 @@ SELECT [ALL|DISTINCT [ON <replaceable class="PARAMETER">column</replaceable>] ]
|
||||
[ WHERE <replaceable class="PARAMETER">condition</replaceable> ]
|
||||
[ GROUP BY <replaceable class="PARAMETER">column</replaceable> [, ...] ]
|
||||
[ HAVING <replaceable class="PARAMETER">condition</replaceable> [, ...] ]
|
||||
[ UNION [ALL] <replaceable class="PARAMETER">select</replaceable> ]
|
||||
[ { UNION [ALL] | INTERSECT | EXCEPT } <replaceable class="PARAMETER">select</replaceable> ]
|
||||
[ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
|
||||
</synopsis>
|
||||
|
||||
@ -230,8 +230,16 @@ including duplicates.
|
||||
DESCending mode operator. (See ORDER BY clause)</para>
|
||||
|
||||
<para>
|
||||
The UNION clause specifies a table derived from a Cartesian
|
||||
product union join. (See UNION clause).</para>
|
||||
The UNION clause allows the result to be the collection of rows
|
||||
returned by the queries involved. (See UNION clause).</para>
|
||||
|
||||
<para>
|
||||
The INTERSECT give you the rows that are common to both queries.
|
||||
(See INTERSECT clause).</para>
|
||||
|
||||
<para>
|
||||
The EXCEPT give you the rows in the upper query not in the lower query.
|
||||
(See EXCEPT clause).</para>
|
||||
|
||||
<para>
|
||||
You must have SELECT privilege to a table to read its values
|
||||
@ -370,7 +378,8 @@ SELECT name FROM distributors ORDER BY code;
|
||||
specifies any select expression without an ORDER BY clause.</para>
|
||||
|
||||
<para>
|
||||
The UNION operator specifies a table derived from a Cartesian product.
|
||||
The UNION clause allows the result to be the collection of rows
|
||||
returned by the queries involved. (See UNION clause).
|
||||
The two tables that represent the direct operands of the UNION must
|
||||
have the same number of columns, and corresponding columns must be
|
||||
of compatible data types.</para>
|
||||
@ -381,11 +390,75 @@ SELECT name FROM distributors ORDER BY code;
|
||||
|
||||
<para>
|
||||
Multiple UNION operators in the same SELECT statement are
|
||||
evaluated left to right.
|
||||
evaluated left to right.
|
||||
Note that the ALL keyword is not global in nature, being
|
||||
applied only for the current pair of table results.</para>
|
||||
applied only for the current pair of table results.</para>
|
||||
|
||||
</refsect2></refsect1>
|
||||
</refsect2>
|
||||
|
||||
<refsect2 id="R2-SQL-INTERSECT-2">
|
||||
<refsect2info>
|
||||
<date>1998-09-24</date>
|
||||
</refsect2info>
|
||||
<title>
|
||||
INTERSECT Clause
|
||||
</title>
|
||||
<para>
|
||||
<synopsis>
|
||||
<replaceable class="PARAMETER">table_query</replaceable> INTERSECT <replaceable class="PARAMETER">table_query</replaceable>
|
||||
[ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
|
||||
</synopsis>
|
||||
|
||||
where
|
||||
<replaceable class="PARAMETER">table_query</replaceable>
|
||||
specifies any select expression without an ORDER BY clause.</para>
|
||||
|
||||
<para>
|
||||
The INTERSECT clause allows the result to be all rows that are
|
||||
common to the involved queries. (See INTERSECT clause).
|
||||
The two tables that represent the direct operands of the INTERSECT must
|
||||
have the same number of columns, and corresponding columns must be
|
||||
of compatible data types.</para>
|
||||
|
||||
<para>
|
||||
Multiple INTERSECT operators in the same SELECT statement are
|
||||
evaluated left to right.
|
||||
</para>
|
||||
|
||||
</refsect2>
|
||||
|
||||
<refsect2 id="R2-SQL-EXCEPT-2">
|
||||
<refsect2info>
|
||||
<date>1998-09-24</date>
|
||||
</refsect2info>
|
||||
<title>
|
||||
EXCEPT Clause
|
||||
</title>
|
||||
<para>
|
||||
<synopsis>
|
||||
<replaceable class="PARAMETER">table_query</replaceable> EXCEPT <replaceable class="PARAMETER">table_query</replaceable>
|
||||
[ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
|
||||
</synopsis>
|
||||
|
||||
where
|
||||
<replaceable class="PARAMETER">table_query</replaceable>
|
||||
specifies any select expression without an ORDER BY clause.</para>
|
||||
|
||||
<para>
|
||||
The EXCEPT clause allows the result to be rows from the upper query
|
||||
that are not in the lower query. (See EXCEPT clause).
|
||||
The two tables that represent the direct operands of the EXCEPT must
|
||||
have the same number of columns, and corresponding columns must be
|
||||
of compatible data types.</para>
|
||||
|
||||
<para>
|
||||
Multiple EXCEPT operators in the same SELECT statement are
|
||||
evaluated left to right.
|
||||
</para>
|
||||
|
||||
</refsect2>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="R1-SQL-SELECT-2">
|
||||
<title>
|
||||
@ -633,7 +706,7 @@ SELECT [ ALL | DISTINCT ] <replaceable class="PARAMETER">expression</replaceable
|
||||
[ WHERE <replaceable class="PARAMETER">condition</replaceable> ]
|
||||
[ GROUP BY <replaceable class="PARAMETER">column</replaceable> [, ...] ]
|
||||
[ HAVING <replaceable class="PARAMETER">condition</replaceable> [, ...] ]
|
||||
[ UNION [ ALL ] <replaceable class="PARAMETER">select</replaceable>]
|
||||
[ { UNION [ALL] | INTERSECT | EXCEPT } <replaceable class="PARAMETER">select</replaceable>]
|
||||
[ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
|
||||
</synopsis>
|
||||
|
||||
|
@ -463,7 +463,7 @@ used to retrieve data. The syntax is:
|
||||
[WHERE condition]
|
||||
[GROUP BY <name_of_attr_i>
|
||||
[,... [, <name_of_attr_j>]] [HAVING condition]]
|
||||
[{UNION | INTERSECT | EXCEPT} SELECT ...]
|
||||
[{UNION [ALL] | INTERSECT | EXCEPT} SELECT ...]
|
||||
[ORDER BY <name_of_attr_i> [ASC|DESC]
|
||||
[, ... [, <name_of_attr_j> [ASC|DESC]]]];
|
||||
\end{verbatim}
|
||||
|
@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: psqlHelp.h,v 1.59 1999/02/13 23:20:40 momjian Exp $
|
||||
* $Id: psqlHelp.h,v 1.60 1999/03/19 02:41:36 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -108,7 +108,7 @@ static struct _helpStruct QL_HELP[] = {
|
||||
"define a new rule",
|
||||
"\
|
||||
\tCREATE RULE rule_name AS ON\n\
|
||||
\t[SELECT|UPDATE|DELETE|INSERT]\n\
|
||||
\t{ SELECT | UPDATE | DELETE | INSERT }\n\
|
||||
\tTO object [WHERE qual]\n\
|
||||
\tDO [INSTEAD] [action|NOTHING|[actions]];"},
|
||||
{"create sequence",
|
||||
@ -175,7 +175,7 @@ static struct _helpStruct QL_HELP[] = {
|
||||
\t[GROUP BY group_list]\n\
|
||||
\t[HAVING having_clause]\n\
|
||||
\t[ORDER BY attr1 [USING op1], ...attrN]\n\
|
||||
\t[UNION [ALL] SELECT ...];"},
|
||||
\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...];"},
|
||||
{"delete",
|
||||
"delete tuples",
|
||||
"\
|
||||
@ -258,8 +258,8 @@ static struct _helpStruct QL_HELP[] = {
|
||||
"grant access control to a user or group",
|
||||
"\
|
||||
\tGRANT privilege1, ...privilegeN ON rel1, ...relN TO \n\
|
||||
[PUBLIC|GROUP group|username]\n\
|
||||
\t privilege is ALL|SELECT|INSERT|UPDATE|DELETE|RULE"},
|
||||
{ PUBLIC | GROUP group | username }\n\
|
||||
\t privilege is { ALL | SELECT | INSERT | UPDATE | DELETE | RULE }"},
|
||||
{"insert",
|
||||
"insert tuples",
|
||||
"\
|
||||
@ -271,7 +271,7 @@ static struct _helpStruct QL_HELP[] = {
|
||||
\t[WHERE qual]\n\
|
||||
\t[GROUP BY group_list]\n\
|
||||
\t[HAVING having_clause]\n\
|
||||
\t[UNION [ALL] SELECT ...];"},
|
||||
\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...];"},
|
||||
{"listen",
|
||||
"listen for notification on a condition name",
|
||||
"\
|
||||
@ -305,8 +305,8 @@ static struct _helpStruct QL_HELP[] = {
|
||||
"revoke access control from a user or group",
|
||||
"\
|
||||
\tREVOKE privilege1, ...privilegeN ON rel1, ...relN FROM \n\
|
||||
[PUBLIC|GROUP group|username]\n\
|
||||
\t privilege is ALL|SELECT|INSERT|UPDATE|DELETE|RULE"},
|
||||
{ PUBLIC | GROUP group | username }\n\
|
||||
\t privilege is { ALL | SELECT | INSERT | UPDATE | DELETE | RULE }"},
|
||||
{"rollback work",
|
||||
"abort a transaction",
|
||||
"\
|
||||
@ -321,7 +321,7 @@ static struct _helpStruct QL_HELP[] = {
|
||||
\t[GROUP BY group_list]\n\
|
||||
\t[HAVING having_clause]\n\
|
||||
\t[ORDER BY attr1 [ASC|DESC] [USING op1], ...attrN ]\n\
|
||||
\t[UNION [ALL] SELECT ...];"},
|
||||
\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...];"},
|
||||
{"set",
|
||||
"set run-time environment",
|
||||
#ifdef MULTIBYTE
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" This is -*-nroff-*-
|
||||
.\" XXX standard disclaimer belongs here....
|
||||
.\" $Header: /cvsroot/pgsql/src/man/Attic/select.l,v 1.11 1999/02/02 03:45:32 momjian Exp $
|
||||
.\" $Header: /cvsroot/pgsql/src/man/Attic/select.l,v 1.12 1999/03/19 02:41:41 momjian Exp $
|
||||
.TH SELECT SQL 11/05/95 PostgreSQL PostgreSQL
|
||||
.SH NAME
|
||||
select - retrieve instances from a class
|
||||
@ -15,7 +15,7 @@ select - retrieve instances from a class
|
||||
[\fBgroup by\fR attr_name1 {, attr_name-i....}]
|
||||
[\fBhaving\fR having-clause]
|
||||
[\fBorder by\fR attr_name1 [\fBasc\fR | \fBdesc\fR] [\fBusing op1\fR] {, attr_namei...}]
|
||||
[\fBunion {all} select\fR ...]
|
||||
[ { \fBunion {all}\fR | \fBintersect\fR | \fBexcept\fR } \fBselect\fR ...]
|
||||
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
|
Loading…
Reference in New Issue
Block a user