有啊!请看yntax SELECT [TRANSACTION transaction]
[DISTINCT | ALL]
{* | <val> [, <val> 匽}
[INTO :var [, :var 匽]
FROM <tableref> [, <tableref> 匽
[WHERE <search_condition>]
[GROUP BY col [COLLATE collation] [, col [COLLATE collation] 匽
[HAVING <search_condition>]
[UNION <select_expr> [ALL]]
[PLAN <plan_expr>]
[ORDER BY <order_list>]
[FOR UPDATE [OF col [, col 匽]];
<val> = {
col [<array_dim>] | :variable
| <constant> | <expr> | <function>
| udf ([<val> [, <val> 匽])
| NULL | USER | RDB$DB_KEY | ?
} [COLLATE collation] [AS alias]
<array_dim> = [[x:]y [, [x:]y 匽]
<constant> = num | 'string' | charsetname 'string'
<function> = COUNT (* | [ALL] <val> | DISTINCT <val>
| SUM ([ALL] <val> | DISTINCT <val>
| AVG ([ALL] <val> | DISTINCT <val>
| MAX ([ALL] <val> | DISTINCT <val>
| MIN ([ALL] <val> | DISTINCT <val>
| CAST (<val> AS <datatype>
| UPPER (<val>
| GEN_ID (generator, <val>
<tableref> = <joined_table> | table | view | procedure
[(<val> [, <val> 匽)] [alias]
<joined_table> = <tableref> <join_type> JOIN <tableref>
ON <search_condition> | (<joined_table>
<join_type> = [INNER] JOIN
| {LEFT | RIGHT | FULL } [OUTER]} JOIN
<search_condition> = <val> <operator> {<val> | (<select_one>
}
| <val> [NOT] BETWEEN <val> AND <val>
| <val> [NOT] LIKE <val> [ESCAPE <val>]
| <val> [NOT] IN (<val> [, <val> 匽 | <select_list>
| <val> IS [NOT] NULL
| <val> {>= | <=}
| <val> [NOT] {= | < | >}
| {ALL | SOME | ANY} (<select_list>
| EXISTS (<select_expr>
| SINGULAR (<select_expr>
| <val> [NOT] CONTAINING <val>
| <val> [NOT] STARTING [WITH] <val>
| (<search_condition>
| NOT <search_condition>
| <search_condition> OR <search_condition>
| <search_condition> AND <search_condition>
<operator> = {= | < | > | <= | >= | !< | !> | <> | !=}
<plan_expr> =
[JOIN | [SORT] [MERGE]] ({<plan_item> | <plan_expr>}
[, {<plan_item> | <plan_expr>} 匽)
<plan_item> = {table | alias}
{NATURAL | INDEX (<index> [, <index> 匽)| ORDER <index>}
<order_list> =
{col | int} [COLLATE collation]
[ASC[ENDING] | DESC[ENDING]]
[, <order_list>