6大主要sql语句主要语序
目录
不太准确的sql运行顺序大概是:from-where-group by- having- order by-limit-select
select---决定最后查询的展示字段
where--限定查询行需要满足的条件
通配符:“%”代表任意多个字母,包括0个,例如,含有3个a的表达式为“%a%a%a%”,字符串记得加“”
占位符“_”,表示1个字母,如要查询以a结尾长度为3的字符“_ _a”(中间的 不用)
应用:写出包括“aeiou”5个字母并且国家吗没有空格的where语句--(包括xx字母按这个思路)
where name like"%a%"and like"%e%" and like"%i%" and like"%o%" and like"%u%" and name not like"% %"
and的优先级大于or
group by---基于查询哪个字段分组聚合
having- order by-limit-select都是基于分组再进行操作的,类似与excel的数据透视表
having---限定分组聚合后需要满足的条件
与where的区别:
1.where后面不能接聚合函数(如下图)
2.对分组(group by)后数据进行操作的数据放having 后,对分组前数据进行操作的数据放where 后
order by---查询结果集的显示顺序
在排序好的同学里想针对2个同学(假设是同学甲和同学乙)单独把它放在最前面或者最后面怎么办?用in(X,X)放在最靠近order by的位置如 --order by 同学 in(同学甲,同学乙),成绩
limit 限制查询函数结果集显示的行数
注意是从x+1开始返回,返回到x+n行,如返回100-120行的数据,应该是limit 99,21 X0+1=100,X0=99, X0+N=120,N=21
图片解释来自https://yrzu9y4st8.feishu.cn/mindnotes/bmncnhnbFWnUNvUq6qTkq49IQ3c#outline
你今天很棒!