34,590
社区成员
发帖
与我相关
我的任务
分享
create table course
(
c# int, --课程号
t# int, --课程名
cname varchar(50)
)
create table sc
(
s# int, --学生号
c# int, --课程号
score int --分数
)
--测试数据
insert into course values(1,1,'语文')
insert into course values(2,1,'数学')
insert into course values(3,2,'英语')
insert into sc values(1,1,50)
insert into sc values(1,2,60)
insert into sc values(1,3,70)
insert into sc values(2,1,80)
insert into sc values(2,3,90)
insert into sc values(2,2,90)
insert into sc values(3,2,50)
select c.c#, c.cname from course as c join sc on sc.c#=c.c# group by c.c#, c.cname
having count(1)=(select count(distinct s#) from sc)
c# cname
----------- --------------------------------------------------
2 数学
(1 row(s) affected)
select * from course
where c# in
(
select c# from
(
select COUNT(s#) cnt,c# from sc
group by c#
) a
where cnt=(SELECT COUNT(DISTINCT s#) FROM sc)
)
select a.s#,a.score,b.cname from sc as a inner join course as b on a.c#=b.c# where a.c# =2
SELECT * FROM course C
WHERE (SELECT COUNT(0) FROM sc WHERE c#=C.c#)=(SELECT COUNT(DISTINCT s#) FROM sc)