MySQL数据库实验(多表连接查询)答案-武洪萍主编

MySQL数据库实验(多表连接查询)答案-武洪萍主编
#(1)查询计算机工程系女生的学生学号、姓名及考试成绩:SELECT A.sno 学号,sname 姓名,degree 成绩
SELECT A.sno 学号,A.sname 姓名,B.degree 考试成绩
FROM student A,sc B
WHERE A.sno=B.sno AND ssex='女' AND sdept='计算机工程系';

#(2)查询“自己”所选课程的名称、成绩。
SELECT sname 姓名,cno 课程,degree 成绩
FROM student A,sc B
WHERE A.sno=B.sno AND sname='吴兵';

#(3)查询“李新”教师所授课程的课程名称。
SELECT tname 姓名,cname 课程
FROM teacher A,course B,teaching C
WHERE A.tno=C.tno AND B.cno=C.cno AND tname='李新';

#(4)查询女教师所授课程的课程号及课程名称:
SELECT tname 姓名,cname 课程,B.cno 课程号
FROM teacher A,course B,teaching C
WHERE A.tno=C.tno AND B.cno=C.cno AND tsex='女';

#(5)查询至少选修了一门课程的女生姓名,
SELECT sname
FROM student A,sc B
WHERE A.sno=B.sno AND ssex='女' 
GROUP BY A.sno
HAVING COUNT(cno)>=1;


#(6)查询姓“王”的学生所学的课称名称。
SELECT sname 姓名,cname 课程
FROM student A,course B,sc C
WHERE A.sno=C.sno AND B.cno=C.cno AND sname LIKE '%王%';

#(7)查询选修“数据库”课程且成绩在80-90分的学生学号及成绩
SELECT sno 学号,degree 成绩
FROM sc A,course B
WHERE  A.cno=B.cno AND B.cname LIKE '%数据库%'
HAVING degree BETWEEN 80 AND 90;

#(8)查询课程成绩及格的男生的学生信息、课程号与成绩。
SELECT A.*,cno 课程号,degree 成绩
FROM student A,sc B
WHERE A.sno=B.sno AND degree>60 AND ssex='男';

#(9)查询选修“C04”课程的学生的平均年龄。
SELECT AVG(YEAR(CURDATE())-YEAR(sbirthday)) 平均年龄
FROM student a,sc b
WHERE a.sno=b.sno AND cno='c04';

#(10)查询选修课程名为“数学”的学生学号和姓名。
SELECT A.sno 学号,sname 姓名
FROM student A,sc B,course C
WHERE A.sno=B.sno AND B.cno=C.cno AND cname LIKE '%数学';

#(11)查询“钱军”教师任课的课程号、选修其课程的学生的学号和和成绩。
SELECT B.cno 课程号,cname 课程名,sno 学号,degree 成绩
FROM sc A,course B,teacher C,teaching D
WHERE A.cno=B.cno AND B.cno=D.cno AND C.tno=D.tno
AND tname='钱军';

#(12)查询在第3学期所开课程的课程名称及学生的成绩。
SELECT degree,cname
FROM teaching a,sc b,course c
WHERE a.cno=b.cno AND b.cno=c.cno
AND cterm='3'
GROUP BY sno;

#(13)查询“C02”课程不及格的学生信息。
SELECT *
FROM sc a,student b
WHERE a.sno=b.sno AND cno='C02'
HAVING degree<60;

#(14)查询信息工程系成绩在90分以上的学生姓名、性别和课程名称。
SELECT sname 姓名,ssex 性别,cname 课程名称
FROM sc a,student b,course c
WHERE a.sno=b.sno AND a.cno=c.cno
AND sdept='信息工程系'
AND degree>90;

#(15)查询同时选修了“C04”和“C02”课程的学生姓名和成绩。
SELECT sname 姓名,b.degree 成绩,c.degree 成绩
FROM student a,sc b,sc c
WHERE a.sno=b.sno AND b.sno=c.sno 
AND b.cno='C04' AND c.cno='C02'
GROUP BY sname;



  • 11
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值