SQL 查询引擎

SQL 查询引擎

简介

select

这才是完整的SELECT查询

1
2
3
4
5
6
7
8
9
SELECT DISTINCT column, AGG_FUNC(*column_or_expression*),  
FROM mytable 
JOIN another_table ON mytable.column = another_table.column
WHERE *constraint_expression* 
GROUP BY column 
HAVING *constraint_expression* 
ORDER BY *column* ASC/DESC 
LIMIT *count* 
OFFSET *COUNT*;
  • wherehaving区别

    • “Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,
    • Where中不能使用聚合函数
    • “Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,
    • 在Having中可以使用聚合函数

sql逻辑计划优化

常量折叠

谓词下推

投影消除

列裁剪

参考

  1. https://www.jianshu.com/p/e08dd77acfed
  2. SQL 查询的分布式执行与调度-阿里云开发者社区
  3. https://zhuanlan.zhihu.com/p/48735419?spm=a2c6h.12873639.0.0.642b7af5uV9ysp
updatedupdated2024-05-152024-05-15