文章目录
模糊查询与分组查询的用法与操作
like 像 模糊查询
= 精确查询
使用教学管理数据库查看students表数据
USE 教学管理;
SELECT * FROM students
模糊查询表中姓刘的同学
SELECT *
FROM students
WHERE s_name LIKE '刘%'
模糊查询表中名字为俩个字的同学
SELECT *
FROM students
WHERE s_name LIKE '__'
俩下划线
模糊查询表中名字为三个字的同学
SELECT *
FROM students
WHERE s_name LIKE '___'
模糊查询表中姓马,姓刘和姓聂的同学
SELECT *
FROM students
WHERE s_name LIKE '马%' OR s_name LIKE '刘%' OR s_name LIKE '聂%'
三下划线
模糊查询表中 地址为东风路的同学
SELECT *
FROM students
WHERE address LIKE '东风路%'
通配符
'*' 表示所有东西 all
'%'可以匹配任意长度的字符,可以是0个,也可以是一个或多个
'_'与'%'类似但是只能匹配一个字符
group by 分组
GROUP BY 列名 用法
查询表中男女总数
SELECT sex, COUNT(*) AS'总计'
FROM students
GROUP BY sex
WITH ROLLUP
with rollup 就是将男女进行计总数
查询各系部名称
SELECT D_NO, COUNT(*) AS '学生人数'
FROM students
GROUP BY D_NO
依据D_NO(系部编号) 从students表中 来分组 并命名为学生人数 以任意一列计数
查询score表
select * from score
查询各选修课成绩及其平均分
SELECT c_no,
COUNT(*) AS '选修课程人数',
AVG(report) AS '平均成绩'
FROM score
GROUP BY c_no
依据课程编号(c_no) 从score表中 来分组 并命名为选修课程人数
AVG(report) 依据report列来求平均值 加 AS '平均成绩' 命名
改变显示的小数点位数
SELECT c_no,
COUNT(*) AS '选修课程人数',
FORMAT(AVG(report),2) AS '平均成绩'
FROM score
GROUP BY c_no
使用FORMAT(x,d),x为值或函数,d表示保留的小数点位数
查询学生参加课程超过2的
SELECT s_no, COUNT(*) AS '参加课程数'
FROM score
GROUP BY s_no
HAVING COUNT(*)>2
查询teach表
SELECT * FROM teach
查询教学课程等于2的教师编号
SELECT t_no, COUNT(*)
FROM teach
GROUP BY t_no
HAVING COUNT(*)=2
GROUP BY 列名 用法特点
GROUP BY 后边有啥 SELECT 后边加啥
GROUP BY 后计算使用 having
教学管理系统数据库
https://download.youkuaiyun.com/download/weixin_72637522/87718463