大家好,欢迎来到IT知识分享网。
在开发中,我们难免需要使用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 连接类型(left|inner) join 右边的表们s on 连接条件:按照连接条件和右边的表进行连接,形成结果集 3 where 筛选条件:在形成的结果集中根据筛选条件过滤数据 4 group by 分组列表(按什么字段分组):在过滤后的数据集中根据分组字段进行分组 5 having having_condition:对分组后的数据集应用条件进行过滤 6 select:选择结果集中需要的列,计算结果 7 distinct 查询列表(要查询的字段):对结果集去除重复行 8 order by 排序的字段:对结果集进行排序 9 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记
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/109698.html