专业的编程技术博客社区

网站首页 > 博客文章 正文

面试竟然挂在了sql语句的书写顺序以及执行顺序上面

baijin 2024-08-27 11:22:41 博客文章 3 ℃ 0 评论

昨天一个同学去面试某公司,面试官让他说一下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=

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表