SELECT (Transact-SQL)
2016-04-06 18:50
302 查看
从数据库中检索行,并允许从 SQL Server 中的一个或多个表中选择一个或多个行或列。 虽然 SELECT 语句的完整语法较复杂,但其主要子句可归纳如下:
[ WITH <common_table_expression>]
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression]
[ HAVING search_condition]
[ ORDER BY order_expression [ ASC | DESC ] ]
可在查询之间使用 UNION、EXCEPT 和 INTERSECT 运算符,以便将各个查询的结果合并或比较到一个结果集中。
某些应用于 SELECT 语句的语法限制涉及到远程表。
SELECT 语句的逻辑处理顺序
以下步骤显示 SELECT 语句的逻辑处理顺序(即绑定顺序)。 此顺序确定在一个步骤中定义的对象何时可用于后续步骤中的子句。 例如,如果查询处理器可以绑定到(访问)在 FROM 子句中定义的表或视图,则这些对象及其列可用于所有后续步骤。 相反,因为 SELECT 子句处于步骤 8,所以,在该子句中定义的任何列别名或派生列都无法被之前的子句引用。 不过,它们可由 ORDER BY 子句之类的后续子句引用。 请注意,该语句的实际物理执行由查询处理器确定,因此顺序可能与此列表不同。
from
ON
JOIN
WHERE
GROUP BY
WITH CUBE 或 WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
返回页首
[ WITH <common_table_expression>]
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression]
[ HAVING search_condition]
[ ORDER BY order_expression [ ASC | DESC ] ]
可在查询之间使用 UNION、EXCEPT 和 INTERSECT 运算符,以便将各个查询的结果合并或比较到一个结果集中。
某些应用于 SELECT 语句的语法限制涉及到远程表。
SELECT 语句的逻辑处理顺序
以下步骤显示 SELECT 语句的逻辑处理顺序(即绑定顺序)。 此顺序确定在一个步骤中定义的对象何时可用于后续步骤中的子句。 例如,如果查询处理器可以绑定到(访问)在 FROM 子句中定义的表或视图,则这些对象及其列可用于所有后续步骤。 相反,因为 SELECT 子句处于步骤 8,所以,在该子句中定义的任何列别名或派生列都无法被之前的子句引用。 不过,它们可由 ORDER BY 子句之类的后续子句引用。 请注意,该语句的实际物理执行由查询处理器确定,因此顺序可能与此列表不同。
from
ON
JOIN
WHERE
GROUP BY
WITH CUBE 或 WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
返回页首
相关文章推荐
- 对于redis底层框架的理解(一)
- centos安装memcached服务
- oracle性能优化总结
- Windows下Postgresql数据库的下载与配置方法
- xutils引入SQLcipher实现加密本地数据库
- 数据库锁
- SQL Server死锁总结
- mysql case....when条件
- oracle case when 简单列子
- SQL SERVER 2008 R2 数据库日志文件太大,如何进行清理?
- 如何使用SQL Server实现SignalR的横向扩展
- MySql的like语句中的通配符:百分号、下划线和escape
- storm使用redis池与长链接的区别
- SQLServer设置大小写敏感
- mongoDB window平台安装MongoDB
- mysql两大存储引擎的区别与选择
- 数据库索引
- (转:收藏)怎样把数据库连接字符串存入注册表中
- mysql计算时间差函数
- JAVA9将于2017年3月份发布,中国Java用户有什么反馈请赶紧提,我们一起整理给Oracle.