Description
- SELECT will get all rows which satisfy the
- WHERE condition
- or all rows of a table if WHERE is omitted.
+ SELECT will return rows from one or more tables.
+ Candidates for selection are rows which satisfy the WHERE condition;
+ if WHERE is omitted, all rows are candidates.
+ DISTINCT will eliminate all duplicate rows from the
+ selection.
+ DISTINCT ON column will eliminate all duplicates in the specified column; this is
+equivalent to using GROUP BY column. ALL will return all candidate rows,
+including duplicates.
The GROUP BY clause allows a user to divide a table
where cond_op can be
- one of: =, <, <=, >, >=, <>
- or a conditional operator like ALL, ANY, IN, LIKE, et cetera
+ one of: =, <, <=, >, >= or <>,
+ a conditional operator like ALL, ANY, IN, LIKE, et cetera or a
+ locally-defined operator,
and log_op can be one
of: AND, OR, NOT.
The comparison returns either TRUE or FALSE and all
GROUP BY specifies a grouped table derived by the application
- of the this clause:
+ of this clause:
GROUP BY column [, ...]
-
+
+ GROUP BY will condense into a single row all rows that share the same values for the
+ grouped columns; aggregates return values derived from all rows that make up the group. The value returned for an ungrouped
+ and unaggregated column is dependent on the order in which rows happen to be read from the database.
+
+
- The columns in the ORDER BY must appear in the SELECT clause.
- Thus the following statement is illegal:
+ From release 6.4 of PostgreSQL, the columns in the ORDER BY clause do not need to appear in the SELECT clause.
+ Thus the following statement is now legal:
SELECT name FROM distributors ORDER BY code;
To sum the column len of all films and group
- the reults by kind:
+ the results by kind:
SELECT kind, SUM(len) AS total FROM films GROUP BY kind;
To sum the column len of all films, group
- the reults by kind and show those group totals
+ the results by kind and show those group totals
that are less than 5 hours:
This is not currently
+
+ The DISTINCT ON phrase is not part of
SQL92.
+