UNION ALL SELECT '001', '002'
UNION ALL SELECT '001', '003'
UNION ALL SELECT '002', '001'
UNION ALL SELECT '002', '002'
UNION ALL SELECT '003', '003'
UNION ALL SELECT '003', '001'
UNION ALL SELECT '004', '005'
UNION ALL SELECT '004', '002'
UNION ALL SELECT '005', '002'
UNION ALL SELECT '005', '001'
Sid 表示学生编号
Cid 表示课程编号
至少选修了学生002选修的全部课程的学生编号
select d.sid from
(
select sid,count(cid) as cidnnum
from (
select a.sid,a.cid
from [LogBase].[dbo].[test_c] a,[LogBase].[dbo].[test_c] b
where a.cid=b.cid and b.sid=002
)as c
group by sid
)d ,
(
select COUNT(cid) as e from [LogBase].[dbo].[test_c] where sid=002
) f
where d.cidnnum = f.e
select sid as cidnnum
from (
select a.sid,a.cid
from [LogBase].[dbo].[test_c] a,[LogBase].[dbo].[test_c] b
where a.cid=b.cid and b.sid=002
)as c
group by sid
having count(cid) =(select COUNT(cid) as e from [LogBase].[dbo].[test_c] where sid=002)