mysql 模糊查询与分组查询

模糊查询与分组查询的用法与操作

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心-开心急了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值