使用外键(Foreign Key)可以实现数据库表的多对一连接。以下是一个示例:

首先,创建两个表,一个是学生表(students),另一个是班级表(classes):

CREATE TABLE classes (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  class_id INT,
  FOREIGN KEY (class_id) REFERENCES classes(id)
);

在学生表(students)中,class_id列是外键,引用了班级表(classes)的id列。

接下来,可以插入一些示例数据:

INSERT INTO classes(id, name) VALUES (1, 'Class A');
INSERT INTO classes(id, name) VALUES (2, 'Class B');
INSERT INTO classes(id, name) VALUES (3, 'Class C');

INSERT INTO students(id, name, class_id) VALUES (1, 'Student 1', 1);
INSERT INTO students(id, name, class_id) VALUES (2, 'Student 2', 1);
INSERT INTO students(id, name, class_id) VALUES (3, 'Student 3', 2);
INSERT INTO students(id, name, class_id) VALUES (4, 'Student 4', 3);

在上面的示例中,有3个班级(Class A,Class B,Class C),并且每个班级有不同数量的学生。

现在,可以使用JOIN语句来查询学生表和班级表的连接:

SELECT students.name, classes.name as class_name
FROM students
JOIN classes ON students.class_id = classes.id;

这将会返回以下结果:

+-----------+------------+
| name      | class_name |
+-----------+------------+
| Student 1 | Class A    |
| Student 2 | Class A    |
| Student 3 | Class B    |
| Student 4 | Class C    |
+-----------+------------+

这样就实现了多对一连接,学生表中的每个学生都关联到了班级表中的一个班级。

数据库多对一连接: 外键实现示例

原文地址: https://www.cveoy.top/t/topic/pHdM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录