昨天一个同学去面试某公司,面试官让他说一下sql的执行顺序,他尽然答错了,面试也就到此结束了!实属不应该。。。
借这个机会,在这里做一下简单的总结!
1、书写顺序
按以下的顺序书写sql语句
SELECT 查询列表.
FROM 表 1
【连接类型】 JOIN 表2
ON 连接条件
WHERE 筛选条件
GROUP BY 分组列表
HAVING 分组后的筛选条件
ORDER BY 排序的字段
LIMIT 起始的条目索引,条目数;
即:
SELECT →FROM → JOIN → ON → WHERE → GROUP BY → HAVING → ORDER BY→ LIMIT
注意:
① 连接类型有:inner、left outer、right outer、cross
② 起始条目索引默认从0开始;
③ 若 每页显示条目数:pageSize,要显示的页数:page
则有:
SELECT * FROM 表 LIMIT (page-1)* pageSize,pageSize
2、执行顺序
按右边标出的 ①-⑨ 的顺序执行
SELECT 查询列表 ⑦
FROM 表 1 ①
【连接类型】 JOIN 表 2 ②
ON 连接条件 ③
WHERE 筛选条件 ④
GROUP BY 分组列表 ⑤
HAVING 分组后的筛选条件 ⑥
ORDER BY 排序的字段 ⑧
LIMIT 起始的条目索引,条目数; ⑨
即:
FROM → JOIN → ON → WHERE → GROUP BY → HAVING → SELECT → ORDER BY→ LIMIT
由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!
作者:扬帆向海
来源:CSDN
原文:https://blog.csdn.net/weixin_43570367/article/details/104857397?utm_medium=distribute.pc_feed.none-task-blog-alirecmd-33.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-alirecmd-33.nonecase&request_id=
本文暂时没有评论,来添加一个吧(●'◡'●)