用SQL嵌套查询语句查询选修了全部课程的学生的姓名.

SELECT St_Name
FROM St_Info
where St_ID=
(SELECT St_ID
FROM S_C_Info
WHERE C_No=
(SELECT C_No
FROM C_Info))
所写的程序运行出来以后出错了
错误是这样说的:子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,
或子查询用作表达式时,这种情况是不允许的。
请问哪位高手帮忙说说怎么样改,先谢谢了!
需要3张表,态拍橡学生表student,选课帆旁表sc和课程表course,贺蠢
select sname from student
where not exists(select * from course where not exists
(select * from sc where sno=student.sno and cno=course.cno))
SELECT St_Name
FROM St_Info
where St_ID in
(SELECT St_ID
FROM S_C_Info
WHERE C_No in
(SELECT C_No
FROM C_Info))