一条sql语句搞定基于mysql的sql执行顺序的基本理解
来源:互联网 发布:重复犯错歌词意思 知乎 编辑:程序博客网 时间:2024/05/17 09:17
对数据库基本操作是每个程序员基本功,如何理解并快速记住sql执行的顺序呢,其实一条复杂的sql就能搞定:
1
2
3
4
5
6
7
8
9
SELECT
DISTINCT
<select_list>
FROM
<left_table>
<join_type>
JOIN
<right_table>
ON
<join_condition>
WHERE
<where_condition>
GROUP
BY
<group_by_list>
HAVING
<having_condition>
ORDER
BY
<order_by_condition>
LIMIT <limit_number>
执行顺序:
1
2
3
4
5
6
7
8
9
10
(7)
SELECT
(8)
DISTINCT
<select_list>
(1)
FROM
<left_table>
(3) <join_type>
JOIN
<right_table>
(2)
ON
<join_condition>
(4)
WHERE
<where_condition>
(5)
GROUP
BY
<group_by_list>
(6)
HAVING
<having_condition>
(9)
ORDER
BY
<order_by_condition>
(10) LIMIT <limit_number>
另外需要注意的问题:
(1)group by 存在时,select中除了聚集函数外,所有的基本列必须是group by里面存在的;having基本上同group by一起使用的,having类似于where语句,只是having过滤是基于group by 分组后的数据,having一般通过select语句里面的聚集函数进行过滤。
0 0
- 一条sql语句搞定基于mysql的sql执行顺序的基本理解
- 一条sql语句的执行顺序
- MySql SQL语句执行的顺序
- MySQL中SQL语句的执行顺序
- SQL语句的执行顺序
- SQL语句的执行顺序
- SQL语句的执行顺序
- SQL语句的执行顺序
- SQL语句的执行顺序
- sql语句的执行顺序
- sql语句的执行顺序
- SQL语句的执行顺序
- SQL语句的执行顺序
- SQL语句的执行顺序
- sql语句的执行顺序~
- sql语句的执行顺序
- SQL语句的执行顺序
- Sql语句的执行顺序
- 转载(原标题:网站再遭新威胁 Struts2又曝高危漏洞啦)
- quartz和timer的区别
- JavaFX的WebView中通过JavaScript回调Java的程序
- 【职场】优秀的人才有资格拥有有效的人脉!你足够优秀吗?
- 深入ES6 三 解构赋值
- 一条sql语句搞定基于mysql的sql执行顺序的基本理解
- 移动端适配基础总结
- 把排序数组转换为高度最小的二叉搜索树
- FXS(le88266)工作原理介绍
- 初写简历的苦恼
- 二维数组的列交换
- 文章标题
- c++中cout和cerr的区别
- [LeetCode题解]455. Assign Cookies