3、SQL 查询逻辑处理全解析

SQL 查询逻辑处理全解析

在 SQL 查询处理中,理解各个查询子句的逻辑处理顺序至关重要。下面将详细介绍 SQL 查询的逻辑处理步骤。

1. FROM 子句处理

如果 FROM 子句中出现多个表运算符,它们将按照从左到右的顺序进行处理,这至少是逻辑查询处理顺序的情况。每个表运算符的结果将作为下一个表运算符的左输入。最终的虚拟表将作为下一步的输入。

2. WHERE 阶段

WHERE 过滤器应用于上一步返回的虚拟表中的所有行。那些使 <where_predicate> 为 TRUE 的行组成了此步骤返回的虚拟表(VT2)。

注意事项
- 不能引用 SELECT 列表中创建的列别名,因为 SELECT 列表尚未处理。例如,不能写 SELECT YEAR(orderdate) AS orderyear ... WHERE orderyear > 2014
- 由于数据尚未分组,不能在此处使用分组聚合函数。例如,不能写 WHERE orderdate = MAX(orderdate)

示例

WHERE C.city = 'Madrid'

执行此过滤器后,来自 VT1 的客户 MRPHS 的行将被移除,因为其城市不是马德里,从而生成虚拟表 VT2,如下所示:
| C.custid | C

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值