查询分数表每科分数的分数SQL
时间: 2023-08-28 18:06:41 浏览: 101
假设分数表的结构如下:
| id | student_name | math_score | english_score | science_score |
|----|--------------|------------|---------------|---------------|
| 1 | Alice | 90 | 80 | 85 |
| 2 | Bob | 75 | 85 | 92 |
| 3 | Charlie | 80 | 75 | 80 |
查询每科分数的 SQL 可以如下:
```
SELECT math_score, english_score, science_score FROM scores;
```
执行以上 SQL 语句后,将会返回以下结果:
| math_score | english_score | science_score |
|------------|---------------|---------------|
| 90 | 80 | 85 |
| 75 | 85 | 92 |
| 80 | 75 | 80 |
相关问题
sql查询一个表中每一个班的英语数学分数平均值
假设表名为`student_scores`,包含字段`class`、`english_score`和`math_score`,可以使用如下SQL语句查询每个班级的英语和数学分数平均值:
```
SELECT class, AVG(english_score) AS avg_english_score, AVG(math_score) AS avg_math_score
FROM student_scores
GROUP BY class;
```
其中,`GROUP BY`子句按照`class`字段分组,`AVG()`函数计算每个班级的英语和数学分数平均值。`AS`关键字用于给计算结果取别名,便于查询结果的理解。
有学生表(T_STUDENTS),成绩表(T_SCORES),课程表(T_CORSES),写出查询每个学生语文,数学,物理三门课程的sql,结果列为学生id,姓名,语文分数,数学分数,物理分数
好的,可以使用以下 SQL 查询语句:
```
SELECT
T_STUDENTS.id,
T_STUDENTS.name,
MAX(CASE WHEN T_COURSES.name = '语文' THEN T_SCORES.score ELSE NULL END) AS '语文分数',
MAX(CASE WHEN T_COURSES.name = '数学' THEN T_SCORES.score ELSE NULL END) AS '数学分数',
MAX(CASE WHEN T_COURSES.name = '物理' THEN T_SCORES.score ELSE NULL END) AS '物理分数'
FROM
T_STUDENTS
JOIN T_SCORES ON T_STUDENTS.id = T_SCORES.student_id
JOIN T_COURSES ON T_SCORES.course_id = T_COURSES.id
GROUP BY
T_STUDENTS.id,
T_STUDENTS.name;
```
该查询语句通过联合查询 T_STUDENTS、T_SCORES 和 T_COURSES 表,使用 CASE WHEN 语句将每个学生的三门课程分数分别作为结果列,最终通过 GROUP BY 对学生进行分组,得到每个学生的语文、数学和物理分数。
阅读全文