查询所有选修课程成绩均大于55分的学生s_number。
时间: 2024-04-30 21:23:25 浏览: 75
这个问题需要至少两个表:一个是学生表,包含学生的学号和姓名等基本信息;另一个是成绩表,包含学生的学号、课程号和成绩等信息。
假设学生表名为students,成绩表名为scores,那么可以使用以下SQL语句查询所有选修课程成绩均大于55分的学生学号:
```
SELECT s_number
FROM students
WHERE s_number NOT IN (
SELECT s_number
FROM scores
WHERE score <= 55
);
```
这个查询语句的原理是,首先从学生表中选择所有学生的学号。然后,从成绩表中选择所有成绩小于等于55分的学生学号。最后,在学生表中排除这些学生,并返回剩余的学生学号,这些学生的选修课程成绩均大于55分。
相关问题
sql语句查询选修了所有课程并且成绩都大于90分的学生姓名
你好,我明白了你的要求。以下是对应的 SQL 查询语句:
SELECT student_name
FROM student
WHERE student_id IN
(SELECT student_id
FROM select_course
WHERE score > 90
GROUP BY student_id
HAVING COUNT(*) =
(SELECT COUNT(*)
FROM course));
这个查询语句可以找到选修所有课程并且成绩都大于90分的学生姓名。希望能对你有所帮助!
(42) 查询选修课程成绩均在80分以上的学生学号;
这个查询可以分为两个步骤来完成:
1. 找到所有选修课程成绩均在80分以上的学生。
```sql
SELECT student_id
FROM scores
WHERE course_type = '选修'
GROUP BY student_id
HAVING MIN(score) >= 80;
```
2. 在第一步的结果中筛选出学号。
```sql
SELECT student_id
FROM (
SELECT student_id
FROM scores
WHERE course_type = '选修'
GROUP BY student_id
HAVING MIN(score) >= 80
) AS t;
```
阅读全文