SQL语句执行顺序【全】

在开发中,我们难免需要使用sql语言作用于数据库管理软件,让他对数据库做出一些我们期待的操作,那么在学习sql语言的过程中,如果对sql语言的执行顺序有一定的了解的话,会更好的理解一些sql语句,从而更好的写sql语句。

select distinct
    查询列表(要查的字段)
from
    左边的表们s
连接类型(left|inner) join 
    右边的表们s
on 
    连接条件
where
    筛选条件
group by
    分组的列表(按什么字段分组)
having
    having_condition
order by
    排序的字段
limit
    limit number;
    
1 from 左边的表们s
2 on 连接条件
3 连接类型(left|inner) join 右边的表们s
4 where 筛选条件
5 group by 分组列表(按什么字段分组)
6 having having_condition
7 select
8 distinct 查询列表(要查询的字段)
9 order by 排序的字段等
10 limit limit_number

123步骤先确定要查询的大表;4步骤确定要的记录,去掉不要的记录;56分组并筛选要的;78留下要的字段列;9排序一下;10留下想要的记录数。

 2022.07.22更新以上内容 


 

介绍完毕,上主题:

语法格式:                           执行顺序

select 查询列表                            7

from 表1                                       1

连接类型 join 表2                         2

on 连接条件                                 3

where 筛选条件                           4

group by 分组列表                       5

having 分组后的筛选条件            6

order by 排序列表                        8

limit offset,size;                            9

几点说明:

①数字代表执行的顺序,正序

②offset 要显示记录(条目)的起始索引(起始索引从0开始)

③size  要显示记录(条目)的条数

④每执行完一个顺序,都会在内部生成一个虚拟表

进一步理解:

顺序1:定位到表1,内部形成一个虚拟表1(其实就是表1)

顺序2:表1和表2连接,形成一个虚拟的大表2,而且是笛卡尔现象表

顺序3:留下大表2中满足连接条件的记录,去掉不满足连接条件的记录,形成一个新的虚拟表3

顺序4:留下虚拟表3中满足筛选条件的记录,去掉不满足筛选条件的记录,形成一个新的虚拟表4

顺序5:根据分组列表,将分组列表的值相同的记录归到一组,形成一个新的虚拟表5

顺序6:留下虚拟表5中满足筛选条件的记录,去掉不满足筛选条件的记录,形成一个新的虚拟表6

顺序7:根据查询列表,比如是字段1,字段2,将表6中字段1和字段2拼接在一个形成一个虚拟表7, 并输出表7

顺序8:根据排序列表将表7进行排序形成一个新的虚拟表

顺序9:根据offset和size将表8中从offset条开始,取出size条记录拼接成一个新的虚拟表8,

            并输出表8

                                                                                                                                2021.10.10记

  • 42
    点赞
  • 198
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺着听Jay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值