| 1 | +--------+ mysql> (SELECT 1 AS result UNION SELECT 3 UNION SELECT 2) ORDER BY result LIMIT 1 OFFSET 1 INTO @var; mysql> SELECT @var; +------+ | @var | +------+ | 2 | +------+ 

Parenthesized query expressions are also used as query expressions, so a query expression, usually composed of query blocks, may also consist of parenthesized query expressions: 

(SELECT * FROM t1 ORDER BY a) UNION (SELECT * FROM t2 ORDER BY b) ORDER BY z; 

Query blocks may have trailing ORDER BY  and LIMIT  clauses, which are applied before the outer UNION and ORDER BY  and LIMIT . 

You cannot have a query block with a trailing ORDER BY  or LIMIT , without wrapping it in parentheses, but parentheses may be used for enforcement in various ways: 

•To enforce LIMIT  on each query block: 

(SELECT 1 LIMIT 1) UNION (SELECT 2 LIMIT 1); 

•To enforce LIMIT  on both query blocks and the entire query expression: 

(SELECT 1 LIMIT 1) UNION (SELECT 2 LIMIT 1) LIMIT 1; 

•To enforce LIMIT  on the entire query expression (with no parentheses): 

SELECT 1 UNION SELECT 2 LIMIT 1; 

•Hybrid enforcement: LIMIT  on the first query block and on the entire query expression: 

(SELECT 1 LIMIT 1) UNION SELECT 2 LIMIT 1; 

The syntax described in this section is subject to certain restrictions: 

•If ORDER BY  occurs within a parenthesized query expression and also is applied in the outer query, the results are undefined and may change in a future version of MySQL. The same is true if LIMIT  occurs within a parenthesized query expression and also is applied in the outer query. 

•A trailing INTO  clause for a query expression is not permitted if there is another INTO  clause inside parentheses. 

•Parenthesized query expressions do not permit multiple levels of ORDER BY  or LIMIT  operations. For example: 

mysql> (SELECT ’a’ UNION SELECT ’b’ LIMIT 1) LIMIT 2; ERROR 1235 (42000): This version of MySQL doesn’t yet support ’parenthesized query expression with more than one external level of ORDER/LIMIT operations’ 

## 13.2.11 Subqueries 

A subquery is a SELECT  statement within another statement. 

All subquery forms and operations that the SQL standard requires are supported, as well as a few features that are MySQL-specific. 

