欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > SQL Server中SELECT (Transact-SQL)语法定义和解释

SQL Server中SELECT (Transact-SQL)语法定义和解释

2025/2/23 7:18:59 来源:https://blog.csdn.net/csdn2990/article/details/144353943  浏览:    关键词:SQL Server中SELECT (Transact-SQL)语法定义和解释

在这里插入图片描述
语法定义:

<SELECT statement> ::=[ WITH { [ XMLNAMESPACES , ] [ <common_table_expression> [ , ...n ] ] } ]<query_expression>[ ORDER BY <order_by_expression> ][ <FOR Clause> ][ OPTION ( <query_hint> [ , ...n ] ) ]
<query_expression> ::={ <query_specification> | ( <query_expression> ) }[  { UNION [ ALL ] | EXCEPT | INTERSECT }<query_specification> | ( <query_expression> ) [ ...n ] ]
<query_specification> ::=
SELECT [ ALL | DISTINCT ][ TOP ( expression ) [ PERCENT ] [ WITH TIES ] ]<select_list>[ INTO new_table ][ FROM { <table_source> } [ , ...n ] ][ WHERE <search_condition> ][ <GROUP BY> ][ HAVING <search_condition> ]
[ ; ]

解释:

  1. <SELECT statement>、<query_expression> 、<query_specification>等,这些用尖括号括起来的,称为术语
  2. ::=后面跟随的是对术语的解释
  3. 像这种被中括号括起来的[ WHERE <search_condition> ] [ <GROUP BY> ] [ HAVING <search_condition> ]都表示为可选元素
  4. {}被这种花括号括起来的表示必选元素,如果花括号中有|这种符号,表示只能选其一,比如这种: { UNION [ ALL ] | EXCEPT | INTERSECT }
  5. [ ...n ] 表示对前面所写元素的0到多次重复
  6. [ , ...n ] 表示对前面所写元素的0到多次重复,用逗号隔开

把上面Select语法拆分成一个最简单的查询语句
上面Select语法定义是由3个术语组成,分别是:

<query_specification> ::=
SELECT [ ALL | DISTINCT ][ TOP ( expression ) [ PERCENT ] [ WITH TIES ] ]<select_list>[ INTO new_table ][ FROM { <table_source> } [ , ...n ] ][ WHERE <search_condition> ][ <GROUP BY> ][ HAVING <search_condition> ]
[ ; ]
<query_expression> ::={ <query_specification> | ( <query_expression> ) }[  { UNION [ ALL ] | EXCEPT | INTERSECT }<query_specification> | ( <query_expression> ) [ ...n ] ]
<SELECT statement> ::=[ WITH { [ XMLNAMESPACES , ] [ <common_table_expression> [ , ...n ] ] } ]<query_expression>[ ORDER BY <order_by_expression> ][ <FOR Clause> ][ OPTION ( <query_hint> [ , ...n ] ) ]
  1. <query_specification> 进行简化拆解,就只剩
SELECT  <select_list>
  1. <query_expression> 进行简化拆解,就只剩 { <query_specification> | ( <query_expression> ) }然后选择一个,我们把<query_specification>带入就是
SELECT  <select_list>
  1. <SELECT statement>
    进行简化拆解,就只剩<query_expression>,然后继续带入,最简查询语句就出来了
SELECT  <select_list>

由上面定义我们知道 <select_list>也是术语,他可以是一个表达式,一个值,等,或者是通过逗号分隔出来的各种表达式。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词