SQL Reference
Table Of Contents
- Chapter 1 Introduction
- Chapter 2 Supported standards
- Support for Unicode characters
- SQL statements
- SELECT statement
- SQL clauses
- FROM clause
- WHERE clause
- GROUP BY clause
- HAVING clause
- UNION operator
- ORDER BY clause
- OFFSET and FETCH FIRST clauses
- FOR UPDATE clause
- DELETE statement
- INSERT statement
- UPDATE statement
- CREATE TABLE statement
- TRUNCATE TABLE statement
- ALTER TABLE statement
- CREATE INDEX statement
- DROP INDEX statement
- SQL expressions
- SQL functions
- FileMaker system objects
- Reserved SQL keywords
- Index
Chapter 2 | Supported standards 12
HAVING clause
The HAVING clause enables you to specify conditions for groups of records (for example, display
only the departments that have salaries totaling more than $200,000). It has the following format:
HAVING expr1 rel_operator expr2
expr1 and expr2 can be field names, constant values, or expressions. These expressions do
not have to match a column expression in the SELECT clause.
rel_operator is the re
lational operator that links the two expressions.
Example
Return only the departments whose sums of salaries are greater than $200,000.
SELECT dept_id, SUM (salary) FROM emp
GROUP BY dept_id HAVING SUM (salary) > 200000
UNION operator
The UNION operator combines the results of two or more SELECT statements into a single result.
The single result is all of the returned records from the SELECT statements. By default, duplicate
records are not returned. To return duplicate records, use the ALL keyword (UNION ALL). The
format is:
SELECT statement UNION [ALL] SELECT statement
When using the UNION operator, the select lists for each SELECT statement must have the same
number of column expressions, with the same data types, and must be specified in the same
order.
Example
SELECT last_name, salary, hire_date FROM emp UNION SELECT name, pay,
birth_date FROM person
The following example is not valid because the data types of the column expressions are different
(SALARY from EMP has a different data type than LAST_NAME from RAISES). This example has
the same number of column expressions in each SELECT statement, but the expressions are not
in the same order by data type.
Example
SELECT last_name, salary FROM emp UNION SELECT salary, last_name FROM raises