关于SQL Server 2012中count的使用 15
我有两张表,我要查询选修了所有课程(课程号是01到08)的学生的姓名和选课数目应该怎么写?就用all这种方式比较,别用notexists,谢谢.学生表(这张图片看不清楚的...
我有两张表,我要查询选修了所有课程(课程号是01到08)的学生的姓名和选课数目应该怎么写?
就用all这种方式比较,别用not exists,谢谢.
学生表(这张图片看不清楚的话,保存到桌面放大可以看清楚):
选课表:
我是这样子写结果出不来:
/*检索学习全部课程的学生姓名*/
use studinfosystem
go
select name AS 姓名,count(select_course.stu_id) AS 选修课程数目
from student,select_course
group by name,student.stu_id,select_course.stu_id
having student.stu_id=select_course.stu_id and
count(select_course.stu_id)>=all(select count(select_course.stu_id) from select_course)
/*检索出每个学生所选课程与总课程比较只要大于等于就显示出来*/ 展开
就用all这种方式比较,别用not exists,谢谢.
学生表(这张图片看不清楚的话,保存到桌面放大可以看清楚):
选课表:
我是这样子写结果出不来:
/*检索学习全部课程的学生姓名*/
use studinfosystem
go
select name AS 姓名,count(select_course.stu_id) AS 选修课程数目
from student,select_course
group by name,student.stu_id,select_course.stu_id
having student.stu_id=select_course.stu_id and
count(select_course.stu_id)>=all(select count(select_course.stu_id) from select_course)
/*检索出每个学生所选课程与总课程比较只要大于等于就显示出来*/ 展开
1个回答
展开全部
select name AS '姓名',(select count(*) from course where stu_id = student.stu_id) AS '选修课程数目' from student where (select count(*) from select_course where stu_id = student.stu_id) >= (select count(*) from select_course where course_id in(select distinct course_id from select_course) )
select_course 是 第二个表吧
select_course 是 第二个表吧
追问
select_course是第二个表,你的我完全没有看懂。
1.查询课表里面的所有记录也就是查询课程总数 2.然后就看不懂了。'
追答
select count(*) from course where stu_id = student.stu_id 这个意思是查询该学生的课时
select distinct course_id from select_course 这个的意思是查询你有多少不同课程 这个是对不知道有多少课程是准备的
(select count(*) from select_course where course_id in(select distinct course_id from select_course) ) 那么这个就是 找到不同课程的总数
如果你知道那个课程是 8
那么就直接 >= 8 就好了
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询