[ HAVING <replaceable class="PARAMETER">condition</replaceable> [, ...] ]
[ { UNION [ALL] | INTERSECT | EXCEPT } <replaceable class="PARAMETER">select</replaceable> ]
[ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
+ [ FOR UPDATE [OF class_name...]]
+ [ LIMIT count [OFFSET|, count]]
</synopsis>
<refsect2 id="R2-SQL-SELECT-1">
The EXCEPT give you the rows in the upper query not in the lower query.
(See EXCEPT clause).</para>
+ <para>
+ The FOR UPDATE clause allows the SELECT statement to perform
+ exclusive locking of selected rows.
+ (See EXCEPT clause).</para>
+
+ <para>
+ The LIMIT...OFFSET clause allows control over which rows are
+ returned by the query.</para>
+
<para>
You must have SELECT privilege to a table to read its values
(See <command>GRANT</command>/<command>REVOKE</command> statements).
[ HAVING <replaceable class="PARAMETER">condition</replaceable> [, ...] ]
[ { UNION [ALL] | INTERSECT | EXCEPT } <replaceable class="PARAMETER">select</replaceable>]
[ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
+ [ FOR UPDATE [OF class_name...]]
+ [ LIMIT count [OFFSET|, count]]
</synopsis>
<refsect2 id="R2-SQL-SELECTINTO-1">
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: psqlHelp.h,v 1.67 1999/06/03 19:17:59 momjian Exp $
+ * $Id: psqlHelp.h,v 1.68 1999/06/03 19:52:08 momjian Exp $
*
*-------------------------------------------------------------------------
*/
\t[WHERE qual]\n\
\t[GROUP BY group_list]\n\
\t[HAVING having_clause]\n\
+\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...]\n\
\t[ORDER BY attr1 [ASC|DESC] [USING op1], ...attrN ]\n\
-\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...];"},
+\t[FOR UPDATE [OF class_name...]]\n\
+\t[LIMIT count [OFFSET|, count]];"},
{"set",
"set run-time environment",
"\
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/select.l,v 1.12 1999/03/19 02:41:41 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/select.l,v 1.13 1999/06/03 19:52:09 momjian Exp $
.TH SELECT SQL 11/05/95 PostgreSQL PostgreSQL
.SH NAME
select - retrieve instances from a class
[\fBwhere\fR where-clause]
[\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}\fR | \fBintersect\fR | \fBexcept\fR } \fBselect\fR ...]
+ [\fBorder by\fR attr_name1 [\fBasc\fR | \fBdesc\fR] [\fBusing op1\fR] {, attr_namei...}]
+ [\fBfor update\fR [\fBof\fR class_name...]]
+ [\fBlimit\fR count [\fBoffset\fR|, count]]
.fi
.SH DESCRIPTION
according to the corresponding operator. This operator must be a
binary one returning a boolean. Multiple sort fields are allowed and
are applied from left to right.
+The
+.BR "for update"
+allows the select statement to perform exclusive locking of selected rows.
+The
+.BR "limit/offset"
+allows control over which rows are returned by the query.
.PP
The target list specifies the fields to be retrieved. Each
.IR attr_name