select语句的顺序:
select xxx列 from 表名 where xxx条件 group by xxx条件 having xxx条件 order by (ASC|DESC)
一定要注意出现的位置!!!

注意:目标列表达式的顺序可以与表中的顺序不一致。


说明:注意次序,是top 5 * ※在最后面!

(图片上面的字打错了:distinct)
放在列名前或星号前





查找学生表中系为计算机系的所有学生

重点:like的用法


注意:between and 是含等号的包含!
(不在:not between and)




重难点:如何使用like模糊查找?









注意:方括号[]的用途!!一个一个遍历!

delete from 顾客 where 顾客编号 like '__10' or 顾客编号 like '__11'
注意:是两个顾客编号 like xxx 不能只写一个,每次or后面都要把主语跟上!

注意:只能用is null 或者 is not null !




即:如果在一个条件相同的情况下,按下一个条件进行排序。
说明:order by xxx (desc|asc) , xxx (desc|asc) 就不用再加order by了!


注意:count()用于统计元组个数或者是该列的列值个数(只要是一个列值就要统计,包含重复值!)



说明:可以在count()函数中加入distinct xxx,来达到去除重复值的目的!


错误!不能这么写:计算函数不能出现在where子句中!


说明:count(*)是返回表中的记录数,一行即为一个记录!

group by cno:以cno进行分组,不同的课程号分为一组!
注意:group by后面的属性名必须出现在前面的select后面!!!!!



Group By的特殊用法: 想用聚合函数查找但where不能用怎么办?
可以加一个group by 语句,因为group by 语句后面可以用 having having后面可以跟上聚合函数!
例:
查询平均成绩大于80的学生的学号?


注意:在Having 后面可以直接用聚合函数,但是在where 后面不行!!
注意Having的用法!
用了group by就必须使用集合函数,但是用了集合函数不一定需要用group by!
具体:
1、当select语句后面只有聚合函数时则不需要添加group by语句。
2、当select语句后面既有聚合又有非聚合语句时要在最末加上group by(非聚合)。
同时:group by后面的列名必须出现在前面的select语句后。
where 一般在 group by 前,having 在group by 后,where后不能有集合函数(select可以有),having后可以跟集合函数。
本文详细介绍了SQL语句的正确使用顺序及其应用场景,包括select、where、group by、having、order by等关键字的使用技巧,特别关注了聚合函数、模糊查询及条件筛选等内容。
函数、group by、having)&spm=1001.2101.3001.5002&articleId=111339468&d=1&t=3&u=817e24663709440d81c6063f88bd787e)
568





