(23)求选修了高等数学课的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
时间: 2024-10-15 09:19:56 浏览: 82
你可以通过以下SQL语句来获取这些信息:
```sql
SELECT student_id, score
FROM student_scores
JOIN scores_math ON student_scores.student_id = scores_math.student_id
WHERE scores_math.course_name = '高等数学'
ORDER BY score DESC, student_id ASC;
```
这个查询做了以下几件事:
1. `SELECT student_id, score`: 选择了学生的学号 (`student_id`) 和他们在高等数学课程中的成绩 (`score`)。
2. `FROM student_scores JOIN scores_math ON student_scores.student_id = scores_math.student_id`: 进行了表连接(JOIN),连接了包含学生分数的 `student_scores` 表和包含高等数学课程成绩的 `scores_math` 表,基于学生ID进行匹配。
3. `WHERE scores_math.course_name = '高等数学'`: 过滤出参加了高等数学课程的学生。
4. `ORDER BY score DESC, student_id ASC`: 结果按照成绩 (`score`) 降序排序,如果成绩相同,则进一步按学号 (`student_id`) 升序排序。
阅读全文