)查询“王敏”同学选修的课程以及每一门课程的成绩。并显示该同学的学号、姓名、课程的课程名称、课程的成绩。
时间: 2024-02-27 08:56:27 浏览: 165
你需要连接三个表,一个是学生信息表,一个是选课信息表,另一个是课程信息表。可以使用以下 SQL 语句查询:
```
SELECT student.student_id, student.student_name, course.course_name, score.score
FROM student
INNER JOIN score ON student.student_id = score.student_id
INNER JOIN course ON score.course_id = course.course_id
WHERE student.student_name = '王敏';
```
这个语句会返回王敏同学选修的课程以及每一门课程的成绩,包括学号、姓名、课程名称以及成绩。
相关问题
对于教学数据库的三个基本表: Stdent(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) Course(CNO,CNAME,TEACHER) 试用SQL的查询语句表达下列查询: 1) 检索学号为S3的学生所学课程的课程号与成绩。(5分) 2) 检索年龄大于20岁的女学生的姓名和性别。(5分) 3) 检索“数据库”课程的课程号。(10分) 4) 检索王敏同学没有选修的课程的课程号。(10分) 5) 统计每门课程的学生选修人数(超过15人的课程才统计)。要求显示课程号,课程名和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。(10分) 6) 求刘老师所授课程的每门课程的成绩的最高分和最低分。(10分)
1) SELECT SC.CNO, SC.GRADE FROM SC WHERE SNO='S3';
2) SELECT SNAME, SEX FROM Student WHERE AGE>20 AND SEX='女';
3) SELECT CNO FROM Course WHERE CNAME='数据库';
4) SELECT CNO FROM Course WHERE CNO NOT IN (SELECT CNO FROM SC WHERE SNO='王敏');
5) SELECT SC.CNO, CNAME, COUNT(*) AS num_students FROM SC JOIN Course ON SC.CNO=Course.CNO GROUP BY SC.CNO, CNAME HAVING COUNT(*)>15 ORDER BY num_students DESC, SC.CNO ASC;
6) SELECT SC.CNO, MAX(GRADE) AS max_grade, MIN(GRADE) AS min_grade FROM SC JOIN Course ON SC.CNO=Course.CNO WHERE Course.TEACHER='刘老师' GROUP BY SC.CNO;
对于教学数据库的三个基本表: Stdent(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) Course(CNO,CNAME,TEACHER) 试用SQL的查询语句表达下列查询: 1)检索学号为S3的学生所学课程的课程号与成绩。(5分) 2)检索年龄大于20岁的女学生的姓名和性别。(5分) 3)检索“数据库”课程的课程号。(10分) 4)检索王敏同学没有选修的课程的课程号。(10分) 5)统计每门课程的学生选修人数(超过15人的课程才统计)。要求显示课程号,课程名和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。(10分) 6)求刘老师所授课程的每门课程的成绩的最高分和最低分。(10分)
1)SELECT CNO, GRADE FROM SC WHERE SNO = 'S3';
2)SELECT SNAME, SEX FROM Student WHERE AGE > 20 AND SEX = '女';
3)SELECT CNO FROM Course WHERE CNAME = '数据库';
4)SELECT CNO FROM Course WHERE CNO NOT IN (SELECT CNO FROM SC WHERE SNO = (SELECT SNO FROM Student WHERE SNAME = '王敏'));
5)SELECT C.CNO, C.CNAME, COUNT(*) AS NUM FROM Course AS C JOIN SC ON C.CNO = SC.CNO GROUP BY C.CNO, C.CNAME HAVING NUM > 15 ORDER BY NUM DESC, C.CNO ASC;
6)SELECT CNO, MAX(GRADE) AS MAX_GRADE, MIN(GRADE) AS MIN_GRADE FROM SC WHERE CNO IN (SELECT CNO FROM Course WHERE TEACHER = '刘老师') GROUP BY CNO;
阅读全文