实验目的:
1.掌握连接查询的一般格式。
2.熟练掌握连接查询的各种方法。
实验内容:
对JXGL数据库进行查询。
1.查询钱横同学选修的课程号和分数。
SELECT cno,grade
FROM student,sc
WHERE student.sno=sc.sno
AND sname='钱横'
2.查询选修的课程成绩为90分以上的学生姓名与课程名和成绩。
SELECT sname,cname,grade
FROM sc,student,course
WHERE student.sno=sc.sno
AND course.cno=sc.cno
AND grade>90
3.查询选修2号课程且成绩在90分以上的所有学生的学号、姓名。
SELECT sname,student.sno
FROM student,sc
WHERE student.sno=sc.sno
AND cno=2
AND grade>90
4.查询每个学生的学号、姓名、选修的课程名及成绩。
SELECT student.sno,sname,sc.cno,cname,grade
FROM student,sc,course
WHERE student.sno=sc.sno
AND sc.cno=course.cno
ORDER BY sno asc
5.查询性别为男、课程成绩及格的学生学号,姓名,课程号,成绩。
SELECT sc.sno,sname,cno,grade
FROM student,sc
WHERE student.sno=sc.sno
AND ssex='男'
AND grade>=60
6.查询平均成绩大于85分的学号、姓名、平均成绩。
SELECT student.sno,sname,avg(grade)
FROM student,sc
WHERE student.sno=sc.sno
GROUP BY student.sno,sname
HAVING AVG(grade)>85
7.查询选修了数据库系统的学生的姓名及成绩。
SELECT sname,grade
FROM student,sc,course
WHERE student.sno=sc.sno
AND course.cno=sc.cno
AND cname='数据库系统'
8.查询每个系的学生选修的1号课程的平均成绩,最高分,最低分,选课人数。
SELECT sdept,AVG(grade) 平均成绩,MAX(grade) 最高分,
MIN(grade) 最低分,COUNT(sc.sno) 选课人数
FROM sc,student
WHERE student.sno=sc.sno
AND cno=2
GROUP BY sdept
10.查询同时选修了“1”课程和“2”课程的学生的姓名。(自身连接查询)
SELECT DISTINCT student.sname
FROM sc JOIN student
ON student.sno=sc.sno
WHERE sc.cno=1
AND student.sno in
(SELECT sc.sno
FROM sc
WHERE sc.cno=2)
技术小白记录学习过程,有错误或不解的地方请指出,如果这篇文章对你有所帮助,请点点赞收藏+关注 谢谢支持 !!!