写sql查询出学号为“0001”的学生的姓名课程名称、成绩。
时间: 2023-05-29 20:07:52 浏览: 271
假设有三个表:学生表(student)、课程表(course)、成绩表(score),表结构如下:
学生表(student):
| 字段名 | 数据类型 | 描述 |
| -------- | -------- | -------- |
| student_id | varchar(10) | 学生ID |
| name | varchar(20) | 学生姓名 |
| gender | varchar(2) | 学生性别 |
| age | int | 学生年龄 |
课程表(course):
| 字段名 | 数据类型 | 描述 |
| -------- | -------- | -------- |
| course_id | varchar(10) | 课程ID |
| name | varchar(20) | 课程名称 |
| teacher | varchar(20) | 授课教师 |
成绩表(score):
| 字段名 | 数据类型 | 描述 |
| -------- | -------- | -------- |
| student_id | varchar(10) | 学生ID |
| course_id | varchar(10) | 课程ID |
| score | int | 成绩 |
查询语句如下:
```sql
SELECT s.name AS 学生姓名, c.name AS 课程名称, sc.score AS 成绩
FROM student s
JOIN score sc ON s.student_id = sc.student_id
JOIN course c ON sc.course_id = c.course_id
WHERE s.student_id = '0001';
```
解释:
1. 使用JOIN连接三个表,关联条件分别是学生ID和课程ID;
2. 在WHERE子句中指定学生ID为“0001”;
3. 在SELECT子句中别名方式指定返回的列名。
阅读全文