作业帮 > 综合 > 作业

sql复杂查询语句问题求救:列出选修了三门以上课程的学生和课程名

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/17 08:48:10
sql复杂查询语句问题求救:列出选修了三门以上课程的学生和课程名
列出选修了三门以上课程的学生和课程名
表结构:
-- 学生信息 XSXX(学号,姓名,性别,出生日期,班级号);
--课程信息 KCXX(课程号,课程名,专业代码);
--考试成绩表 KSCJ(学号,课程号,成绩);
成功语句:列出选修了三门以上课程的学生
sql语句:select x.学号,x.姓名,x.出生日期,x.性别 from xsxx x,kscj k where x.学号=k.学号
问题求救(只是在前面问题的基础上增加相应的课程名):列出选修了三门以上课程的学生和课程名
sql语句:select x.学号,x.姓名,kc.课程名 from xsxx x,kscj k,kcxx kc where x.学号=k.学号 and kc.课程号=k.课程号 group by x.学号,x.姓名,kc.课程名 having count(k.学号) >=3,其查询结果为空,
你的语句 group by x.学号,x.姓名,kc.课程名
这样group by 的结果是唯一的
---------------------------------------
select x.学号, x.姓名, kx.课程名
from xsxx x, kscj k, kcxx kx
where x.学号 = k.学号
and k.课程号 = kx.课程号
and x.学号 in (select x.学号
from xsxx x, kscj k
where x.学号 = k.学号
group by x.学号
having count(k.学号) >= 3)