一、大纲
![6c376d89e4b4f7a139564f235ea02764.png](https://i-blog.csdnimg.cn/blog_migrate/c20191f06e84d048e35db4f03ca70b1c.jpeg)
二、实战
首先建立school数据库,下面有四张表student,teacher,score,course
![9545c69fd056f61417b64fe66e870b1c.png](https://i-blog.csdnimg.cn/blog_migrate/7a2c2f3345de76ab979ea388c40c2cf7.png)
![d80d1e9d921696c0ea29fc68f22b432b.png](https://i-blog.csdnimg.cn/blog_migrate/50aeb4d99be0a0663ec84e37f04ac382.png)
![4d8167c0c54343fe8985fb01521c7b35.png](https://i-blog.csdnimg.cn/blog_migrate/a1cff003adef7a5755f26f8c3713cc40.png)
![8ee4e04790bf39fa46df15d94c7eb194.png](https://i-blog.csdnimg.cn/blog_migrate/3bf117815e5c6d1a645b6b9f8c911f93.png)
1.使用count函数统计列数据个数
![0e1696e1bfcbde75e9a9b6b671a346d8.png](https://i-blog.csdnimg.cn/blog_migrate/98f7a5d8fc3dc6db99407eaadd50d7e6.png)
2.计算score表中,成绩的总分
![5799a0dc4ff0687411dbd08dabd9be43.png](https://i-blog.csdnimg.cn/blog_migrate/7ade4f0c679a210c4370e0bd1f078974.png)
3.求score表中的成绩平均值,使用avg函数
![aa888c64b0d25d6a37fbfac08cb527fa.png](https://i-blog.csdnimg.cn/blog_migrate/42201c2f5f6d7c890ad0920fc0c855bd.png)
4.计算score表中,成绩的最大值,最小值
![1b0338d5296c7c26371e3bb840321a9e.png](https://i-blog.csdnimg.cn/blog_migrate/806108fe810174589664fa4ef3bc0ba8.png)
5.如果需要删除重复值再统计,可以使用distinct
![2e10e085556fe3fdf5b0b8953b752f0a.png](https://i-blog.csdnimg.cn/blog_migrate/475de7b52d69e96e57c59fe0cee4183a.png)
小试牛刀1:
(1)查询课程编号为“0002”的总成绩
![c537eee602fe5863f29753daa40efca3.png](https://i-blog.csdnimg.cn/blog_migrate/ec617f8629698cf5b8eacf453e46be7b.png)
(2)查询选了课程的学生人数
![cdf455814183327b60c36554a8199923.png](https://i-blog.csdnimg.cn/blog_migrate/9f93096cff6564f69347aff2e88303ab.png)
6.按照性别分组统计学生人数
顺序:先分组-再count函数统计-组合结果
![c395381e87a3e87334139b207fd34fbc.png](https://i-blog.csdnimg.cn/blog_migrate/6f915c798bdcb4a499de75962b54e7a7.png)
7.查询出生日期在1990年01月01日之后的学生,然后按照性别统计人数
![eb10ef56256e854e77819744c4ac4ad9.png](https://i-blog.csdnimg.cn/blog_migrate/3de1ca7a205eeeeda677021da6afc254.png)
小试牛刀2:
(1)查询各科成绩的最高分和最低分
![f1cc439be35a4ae52e63ec76ec3d0a6b.png](https://i-blog.csdnimg.cn/blog_migrate/b039f8385c65d5e5b1e27017d9d655fe.png)
(2)查询每门课程被选修的学生数
![bff780a33a1c6645def8b9274a91c2f3.png](https://i-blog.csdnimg.cn/blog_migrate/3cc224ab5c4b38ffb25041008c689a11.png)
8.按照性别分组统计学生人数,然后取出数据项大于2的分组
![4372012646d7ca24021a564032848a94.png](https://i-blog.csdnimg.cn/blog_migrate/1ab424ec6c9585c22a5c9b011192f11c.png)
小试牛刀3:
(1)查询平均成绩大于60分学生的学号和平均成绩
![781ff11b9550df81cb845ee9316e0e5f.png](https://i-blog.csdnimg.cn/blog_migrate/f5da8cec5c587bb60aee3727e6ce4141.png)
(2)查询至少选修两门课程的学生学号
![353a0fe1c4fcf721f3067e4c380443de.png](https://i-blog.csdnimg.cn/blog_migrate/6fa721f192d3564bc397dfd3db874db0.png)
(3)查询同名同姓的学生名单并统计同名人数
![866ae3b2087736cd2597b3b52c74be78.png](https://i-blog.csdnimg.cn/blog_migrate/3a73cfd6dcd485f418d875f5c2f5a246.png)
9.如何计算各科的平均成绩:1先按照学科将成绩分组,2计算每一组的平均值
![c0d5482157770e6ac80919a040866cf9.png](https://i-blog.csdnimg.cn/blog_migrate/5cf917829c290595e3b8fbead53ca8a0.png)
10.如何计算每门课程的平均成绩,且平均成绩大于等于80分
step1:计算每门课程的平均成绩,找出大于等于80的平均成绩
step2:先按照课程号分组,对每个分组求平均成绩,然后在分组中选出>=80的分组和平均成绩
step3:select 课程号,avg(成绩)
from score
group by 课程号
having avg(成绩)>=80;
![894f4d144b65f727992fe8be4a8f69a5.png](https://i-blog.csdnimg.cn/blog_migrate/ae07313bf05e37233195c9345552128d.png)
小试牛刀4:
(1)查询不及格的课程并按照课程号从大到小排列
step2:在score表中找到不及格的课程,然后按照课程号从大到小排列
step3:select 课程号,成绩
from score
where 成绩<60
order by 课程号desc;
![a8e76a927257a65e735bf58b10d08149.png](https://i-blog.csdnimg.cn/blog_migrate/ab6a9bd9fc5c24bd68bf7d80c3bc2efc.png)
![04e3954e0367aa454bc2e97c7237f2ff.png](https://i-blog.csdnimg.cn/blog_migrate/786e74b4df44bb4945f42aea75f04299.png)
(2)查询每门课程的平均成绩,结果按照平均成绩升序,平均成绩相同时按照课程号降序排列
step2:先按照课程分组,求出每门课的平均成绩,然后按照平均成绩升序,课程号降序
step3:
select 课程号,avg(成绩)
from score
group by 课程号
order by avg(成绩) asc ,课程号 desc;
![04abeaac8893c7730c6dd0ea06e3bbe6.png](https://i-blog.csdnimg.cn/blog_migrate/93ce67cf8b6d15191a95a9802a57087f.png)
拓展练习SQLzoo
https://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial/zhsqlzoo.net练习题结果截图:
![1fc5188061be1b28cf30112f38a09ae2.png](https://i-blog.csdnimg.cn/blog_migrate/b01aa87811d2b81420f57d29bf77c608.jpeg)
![201481d216997245b40af2acbe7e9f82.png](https://i-blog.csdnimg.cn/blog_migrate/62bbfabe31f4f5eb1d0f30e807c87b84.jpeg)
![5b2e6474c87b3a5512c4de88e1f461a4.png](https://i-blog.csdnimg.cn/blog_migrate/bb8c74797592021795468845768919fa.jpeg)
![88cf4146621d3b2ab7c1d74ee4d71917.png](https://i-blog.csdnimg.cn/blog_migrate/4076a14799099eddd714fb4e201a758a.jpeg)
![5528b1ab03a1107ebf4ce6eb3990ba1c.png](https://i-blog.csdnimg.cn/blog_migrate/0a4af05df997f2c4d0da7b917622a45f.jpeg)
![576fc4679dd0cc9949efc587cfe05d77.png](https://i-blog.csdnimg.cn/blog_migrate/f3cfd69a2b1ca15e27035b7e67414d5f.jpeg)
![8629aa536c4e6bcddfd519fb1f575847.png](https://i-blog.csdnimg.cn/blog_migrate/347d994c13ab3b488f7c28913e965f8f.jpeg)
![1cd06409992ebdc9ed6e6da9ba85b1ad.png](https://i-blog.csdnimg.cn/blog_migrate/82dc3be7ba8720c30b29c76f70c2a040.jpeg)
![f5153ffc0e54c10720281770339e4648.png](https://i-blog.csdnimg.cn/blog_migrate/a2e4822c4aba8554ac555a1b550be823.jpeg)
![ce5aa3dab4b549e1aed8a4fd2eb26e9a.png](https://i-blog.csdnimg.cn/blog_migrate/5a973cbd845bd359c577a7f0ba6496cc.jpeg)