在3个数据表里怎样取出他们里面的东西做成视图,举个例子给我看看
时间: 2024-05-08 07:15:07 浏览: 8
假设有以下三个数据表:
1. 学生表(Student):
| 学生ID | 姓名 | 年龄 | 性别 |
| ------ | ---- | ---- | ---- |
| 1 | 张三 | 18 | 男 |
| 2 | 李四 | 19 | 女 |
| 3 | 王五 | 20 | 男 |
2. 课程表(Course):
| 课程ID | 课程名称 | 学分 |
| ------ | -------- | ---- |
| 1 | 数学 | 5 |
| 2 | 英语 | 4 |
| 3 | 物理 | 3 |
3. 成绩表(Score):
| 学生ID | 课程ID | 成绩 |
| ------ | ------ | ---- |
| 1 | 1 | 90 |
| 1 | 2 | 85 |
| 2 | 1 | 95 |
| 2 | 2 | 88 |
| 3 | 1 | 85 |
| 3 | 3 | 92 |
现在我们想要创建一个视图,包含每个学生的姓名、课程名称和成绩,可以使用如下 SQL 语句:
```
CREATE VIEW v_student_score AS
SELECT s.姓名, c.课程名称, sc.成绩
FROM 学生表 s
JOIN 成绩表 sc ON s.学生ID = sc.学生ID
JOIN 课程表 c ON sc.课程ID = c.课程ID;
```
执行这个语句之后,就会创建一个名为 v_student_score 的视图,包含以下数据:
| 姓名 | 课程名称 | 成绩 |
| ---- | -------- | ---- |
| 张三 | 数学 | 90 |
| 张三 | 英语 | 85 |
| 李四 | 数学 | 95 |
| 李四 | 英语 | 88 |
| 王五 | 数学 | 85 |
| 王五 | 物理 | 92 |
可以看到,这个视图将三个数据表的数据整合在一起,方便了我们的查询。