)查询“王敏”同学选修的课程以及每一门课程的成绩。并显示该同学的学号、姓名、课程的课程名称、课程的成绩。
时间: 2024-02-27 11:56:27 浏览: 37
你需要连接三个表,一个是学生信息表,一个是选课信息表,另一个是课程信息表。可以使用以下 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 = '王敏';
```
这个语句会返回王敏同学选修的课程以及每一门课程的成绩,包括学号、姓名、课程名称以及成绩。
相关问题
1.查询所有未选修过课程的学生的学号和姓名 2.查询所有比“计算机”专业学生平均分高的学生姓名、学号 3.查询所有比“王敏”总学分高的学生姓名、学号 4.查询比所有“计算机”专业学生学分高的学生姓名、学号 5.查询所有不比“计算机”专业学生学分低的学生姓名、学号
好的,我会分别为您回答这五个问题。
1. 查询所有未选修过课程的学生的学号和姓名:
```
SELECT id, name FROM students WHERE id NOT IN (SELECT student_id FROM course_selections);
```
2. 查询所有比“计算机”专业学生平均分高的学生姓名、学号:
```
SELECT s.id, s.name FROM students s, course_selections cs WHERE s.id = cs.student_id AND cs.score > (SELECT AVG(cs1.score) FROM course_selections cs1, courses c WHERE c.id = cs1.course_id AND c.major = '计算机');
```
3. 查询所有比“王敏”总学分高的学生姓名、学号:
```
SELECT s.id, s.name FROM students s, course_selections cs WHERE s.id = cs.student_id GROUP BY s.id HAVING SUM(cs.credit) > (SELECT SUM(cs1.credit) FROM students s1, course_selections cs1 WHERE s1.name = '王敏' AND s1.id = cs1.student_id);
```
4. 查询比所有“计算机”专业学生学分高的学生姓名、学号:
```
SELECT s.id, s.name FROM students s, course_selections cs WHERE s.id = cs.student_id GROUP BY s.id HAVING SUM(cs.credit) > (SELECT SUM(cs1.credit) FROM course_selections cs1, courses c WHERE c.major = '计算机' AND cs1.course_id = c.id GROUP BY cs1.student_id ORDER BY SUM(cs1.credit) DESC LIMIT 1);
```
5. 查询所有不比“计算机”专业学生学分低的学生姓名、学号:
```
SELECT s.id, s.name FROM students s, course_selections cs WHERE s.id = cs.student_id GROUP BY s.id HAVING SUM(cs.credit) >= (SELECT SUM(cs1.credit) FROM course_selections cs1, courses c WHERE c.major = '计算机' AND cs1.course_id = c.id GROUP BY cs1.student_id ORDER BY SUM(cs1.credit) DESC LIMIT 1);
```
以上是查询语句,具体实现可能还需要根据您的数据库表结构进行稍微修改。
对于教学数据库的三个基本表: 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;
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)