TSQL--逻辑查询处理
2024-08-25 05:37:09
1. 查询处理可分成逻辑处理和物理处理,逻辑处理上各阶段有特定的顺序,但为优化查询,在保证结果集正确的条件下,物理处理顺序并不按照逻辑处理顺序执行,如果在INNER JOIN时,WHERE语句中的过滤条件会在INNER JOIN之前执行。
2. LEFT JOIN 和RIGHT JOIN 的逻辑处理顺序:
A)两表做笛卡尔积(CROSS JOIN)
B)ON筛选器
C)将保留表中未匹配到的记录作为外部行添加到结果集
3. 在逻辑处理中,TOP的执行顺序优先于ORDER BY,查询按照ORDER BY语句指定的顺序(无ORDER BY情况下使用默认顺序)选取指定数量的行生成结果集,在对结果集排序。
4. 对查询结果有三种筛选器:ON+WHERE+HAVING, 逻辑处理中,ON 运行于表连接时,WHERE 运行表连接之后GROUP BY之前,HAVING 运行于GROUP BY之后TOP语句之前
5. T1 LEFT JOIN T2时,T1 为保留表, T1 RIGHT JOIN T2时, T2为保留表,ON 筛选器对保留表的过滤并不是最终的,而WHERE对保留表过滤的数据是最终的。
6. 同时操作:在对表中多列进行更新时,对所有列的更新操作被认为在同一时间点完成,SQL Server会在更新前保存各列要更新的值,因此不必担心UPDATE T1 SET C1=C2,C2=C1语句中的执行顺序
最新文章
- APP技术演化的路
- jQuery Mobile入门
- LeetCode-62-Unique Paths
- bindActionCreators
- javascript数组浅谈3
- Digit (数位DP)
- CentOS 中PHP开启 GD功能
- C语言如何 实现 下雪效果
- 【现代程序设计】【homework-05】
- Python 基础【第四篇】参数
- sphinx的简单实例
- 如何使用KMS激活win10和office
- MongoDB最新版本3.2.9下载地址
- HDU 2120 Ice_cream&;#39;s world I(并检查集合)
- nautilus出现一闪而过现象
- firewalld防火墙设置
- dom编程艺术笔记1--第二章
- angular--获取时间方法services
- C-Lodop的https扩展版,火狐下添加例外
- rsyslog编译依赖问题解决