现有学生成绩表,表格内容有 学生姓名、考试科目、科目对应成绩。 比如张三 语文 75,数学70,英语 65;李四语文65数学 70 英语 75;王五• 查询语文大于数学成绩的同学有哪些的sql语句怎么写
时间: 2024-04-08 12:28:32 浏览: 82
您可以使用以下 SQL 语句来查询语文成绩大于数学成绩的同学:
```sql
SELECT 学生姓名
FROM 学生成绩表
WHERE 考试科目 = '语文' AND 科目对应成绩 > (
SELECT 科目对应成绩
FROM 学生成绩表
WHERE 学生姓名 = 学生成绩表.学生姓名 AND 考试科目 = '数学'
);
```
这个 SQL 语句使用了子查询来获取每位学生的数学成绩,并将其与对应的语文成绩进行比较。如果语文成绩大于数学成绩,则返回该学生的姓名。
请注意将 `学生成绩表` 替换为实际的表名,`学生姓名`、`考试科目` 和 `科目对应成绩` 替换为实际的列名。希望对您有帮助!
相关问题
根据如下数据表写出SQL语句 学生信息表(student) 学号(id) 姓名(name) 001 张三 李四 003 王五 年龄(age) 16 16 n 学生成绩表(score) 学号(id) 00I 001 002 002 科目 (sub) 语文 数学 语文 数学 分数(sco) 85 95 60 602、请写出SQL,查询每个学生的成绩,查询结果如下:学号(id)姓名(name)科目(age)语文张三张三数学李四语文数学李四00gNULL 分数(sco) 福 001001002 95 60 60 002 王五 NULL
SQL语句如下:
```
SELECT student.id, student.name, score.sub, score.sco
FROM student
LEFT JOIN score
ON student.id = score.id;
```
查询结果如下:
```
学号(id) 姓名(name) 科目(sub) 分数(sco)
001 张三 语文 85
001 张三 数学 95
002 李四 语文 60
002 李四 数学 60
003 王五 NULL NULL
```
.用一条 SQL 语句 查询出每门课都大于 80 分的学生姓名 grade表: name course score 张三 语文 81 张三数学 75 李四语文 76 李四 数学 90 王五 语文81 王五 数学 100 王五 英语 90
可以使用以下SQL语句查询出每门课都大于80分的学生姓名:
```sql
SELECT name
FROM grade
GROUP BY name
HAVING MIN(score) > 80;
```
以上SQL语句使用`GROUP BY`对姓名进行分组,然后使用`HAVING`关键字过滤分组结果,只选择所有分数都大于80分的学生姓名。`MIN(score)`表示每个分组中最小的分数,如果最小分数都大于80分,则表示该学生每门课都大于80分。
阅读全文