前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL50-8-第26-30题

MySQL50-8-第26-30题

作者头像
皮大大
发布2021-03-01 16:31:27
6600
发布2021-03-01 16:31:27
举报

MySQL50-8-第26-30题

本文中介绍的是第26-30题目,主要涉及的知识点是:

  • 分组之后count统计人数
  • 模糊匹配
  • 同一个表的自连接
  • having的使用

5个题目是:

  • 查询每门课被选修的学生数
  • 查询出只有两门课程的全部学生的学号和姓名
  • 查询男女生人数
  • 查询名字中含有字的学生信息
  • 查询同名同性的学生名单,并统计同名人数

题目26

题目需求

查询每门课被选修的学生数

分析过程

题目想求解的是每门课有多少人选修,挺简单的

SQL实现
代码语言:javascript
复制
select
	c.c_id
	,c.c_name
	,count(s.s_id)
from Course c
join Score s
on c.c_id = s.c_id
group by c.c_id;

题目27

题目需求

查询出只有两门课程的全部学生的学号和姓名

分析过程

课程:Score,通过c_id来决定课程数

学生:Student

SQL实现

having条件是分组之后在执行的,where语句是分组前先执行的

代码语言:javascript
复制
select
	s.s_id
	,s.s_name
from Student s
join Score sc
on s.s_id = sc.s_id
group by 1,2
having count(sc.c_id) = 2;

题目28

题目需求

查询男女生人数

分析过程

直接统计Student表中的性别s_sex人数

SQL实现

先看看数据:男女人数都是4

代码语言:javascript
复制
--  自己的方法
select
	count(case when s_sex='男' then 1 end) as '男'
	,count(case when s_sex='女' then 1 end) as '女'
from Student;

-- 参考方法
select
	s_sex
	,count(s_sex) as `人数`
from Student
group by s_sex;

题目29

题目需求

查询名字中含有字的学生信息

分析过程

名字中带有风,我们使用模糊匹配%;使用的表是Student

SQL实现

先看看哪些同学的名字中有风

代码语言:javascript
复制
-- 模糊匹配:我们在两边都加上了%,考虑的是姓或者名字含有风,虽然风姓很少见
select * from Student where s_name like "%风%";

题目30

题目需求

查询同名同性的学生名单,并统计同名人数

分析过程

Student表中找出同名且同性的学生人数

SQL实现

1、先看看班级的学生信息

现有的数据中没有同名的学生,但是当班级人数增多的时候很有可能在班级上出现同名的学生

2、假设有同名同性的学生

代码语言:javascript
复制
select
	a.s_name
	,a.s_sex
	,count(*)
from Student a  -- 同一个表的自连接
join Student b
on a.s_id != b.s_id   -- 连接的时候不能是同一个人:学号保证,每个人的学号是唯一的,其他字段都可能重复
and a.s_sex = b.s_sex  -- 性别相同
and a.s_name = b.s_name -- 名字相同
group by 1,2;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL50-8-第26-30题
  • 题目26
    • 题目需求
      • 分析过程
        • SQL实现
        • 题目27
          • 题目需求
            • 分析过程
              • SQL实现
              • 题目28
                • 题目需求
                  • 分析过程
                    • SQL实现
                    • 题目29
                      • 题目需求
                        • 分析过程
                          • SQL实现
                          • 题目30
                            • 题目需求
                              • 分析过程
                                • SQL实现
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档