查询和“01“号的同学学习的课程完全相同的其他同学的信息

该博客分享了一个SQL查询,用于在不允许重复选课的情况下,找出所有选课数量与学号为'01'的学生相同的其他学生信息。查询涉及到学生表、成绩表的连接,子查询用于筛选特定学生选课数量,再通过分组和HAVING子句过滤结果。适合学习SQL查询和数据库操作的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感谢大佬提供的源码

在这里插入图片描述
在这里插入图片描述

当选课不可重复情况下

-- 1列出所有的学生信息 
SELECT s.* from student s        		

-- 2将学生表和成绩表关联起来
left JOIN stu_sco stu on 

-- 3以学生的学号进行关联  		 						
s.S_id=stu.s_id and stu.c_id   						

-- 4判断(学生的课程id在学号为01的学生的选课id中)这是一个子列表						
in (select c_id from stu_sco where s_id = '01')	

-- 5以学生 的学号进行分组
GROUP BY  s.S_id

过滤结果集 判断其他学生的选课的数量 是否和   学号为一的学生的选课数量一样
having count(s.s_id)=(select count(c_id) from stu_sco where s_id = '01');

源码博主 https://blog.youkuaiyun.com/qq_32591415
感谢大佬提供的指导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值