创建学生信息表 班级姓名 专业课程 课程成绩 多表查询
时间: 2023-09-02 13:14:54 浏览: 292
假设我们需要创建三张表:学生表(student)、班级表(class)、课程表(course),并进行多表查询,具体步骤如下:
1. 创建学生表
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20),
class_id INT REFERENCES class(id)
);
```
2. 创建班级表
```
CREATE TABLE class (
id INT PRIMARY KEY,
name VARCHAR(20),
major VARCHAR(20)
);
```
3. 创建课程表
```
CREATE TABLE course (
id INT PRIMARY KEY,
name VARCHAR(20),
student_id INT REFERENCES student(id),
score INT
);
```
4. 插入数据
在学生表中插入数据:
```
INSERT INTO student (id, name, class_id) VALUES
(1, '张三', 1),
(2, '李四', 2),
(3, '王五', 1),
(4, '赵六', 2);
```
在班级表中插入数据:
```
INSERT INTO class (id, name, major) VALUES
(1, '一班', '计算机科学'),
(2, '二班', '信息工程');
```
在课程表中插入数据:
```
INSERT INTO course (id, name, student_id, score) VALUES
(1, '数据库', 1, 90),
(2, '计算机网络', 1, 85),
(3, '数据结构', 2, 95),
(4, '算法分析', 2, 80),
(5, '操作系统', 3, 88),
(6, '人工智能', 4, 92);
```
5. 多表查询
查询每个学生的姓名、班级名称和专业:
```
SELECT s.name AS '学生姓名', c.name AS '班级名称', c.major AS '专业'
FROM student s
JOIN class c ON s.class_id=c.id;
```
查询每个学生的姓名、课程名称和成绩:
```
SELECT s.name AS '学生姓名', c.name AS '课程名称', co.score AS '成绩'
FROM student s
JOIN course co ON s.id=co.student_id
JOIN class c ON s.class_id=c.id;
```
以上是一个简单的学生信息表的创建和多表查询的示例,具体的查询语句可以根据实际需求进行调整。
阅读全文