查询选修课程超过我们大学生姓名和所选修课程的数目。
1个回答
关注
展开全部
先假设数据结构为:
学生表(学号 主键或设有唯一索引,姓名,性别)
课程表(课程号 主键或设有唯一索引,课程名)
选课表(课程号,学号)-- 字段“课程号”和“学号"设有双字段唯一索引
insert into s values ('s1', '朱', '开发本部', 23);
insert into s values ('s2', '牛', '人事部', 25);
insert into s values ('s3', '杨', '财务部', 26);
insert into s values ('s4', '马', '开发本部', 22);
insert into s values ('s5', '吕', '人事部', 27);
insert into s values ('s6', '于', '开发本部', 28);
insert into s values ('s7', '侯', '开发本部', 28);
咨询记录 · 回答于2024-01-09
查询选修课程超过我们大学生姓名和所选修课程的数目。
你好,查询选修课程超过5门的大学生姓名和所选修课程的数目。
-- 实现代码如下:
SELECT SN, SD
FROM S
WHERE [S#] IN (
SELECT [S#]
FROM SC
GROUP BY [S#]
HAVING COUNT(DISTINCT [C#]) > 5
请用汉语表达下看不懂
这个题目,麻烦用汉语写通俗点谢谢[AWSL]
先假设数据结构为:
学生表
- 学号:主键或设有唯一索引
- 姓名
- 性别
课程表
- 课程号:主键或设有唯一索引
- 课程名
选课表
- 课程号:设有唯一索引
- 学号:设有唯一索引
insert into s values ('s1', '朱', '开发本部', 23);
insert into s values ('s2', '牛', '人事部', 25);
insert into s values ('s3', '杨', '财务部', 26);
insert into s values ('s4', '马', '开发本部', 22);
insert into s values ('s5', '吕', '人事部', 27);
insert into s values ('s6', '于', '开发本部', 28);
insert into s values ('s7', '侯', '开发本部', 28);
写出来了吗老师
elect 课程.课程号,课程.课程名from 课程 where 课程号 in(select distinct 课程号 from 选课group by 课程号having count(*) =(select count(*) from 学生))
select 课程.课程号,课程.课程名from 课程 where 课程号 in(select distinct 课程号 from 选课group by 课程号having count(*) =(select count(*) from 学生))
少打了个S,不好意思