学生课程选修三个表级联范例
假设我们有三个表:学生(student)、课程(course)和选修(enrollment)。学生和课程是独立的表,而选修表则是学生和课程之间的关联表。
学生表包含以下字段:
- student_id (学生ID,主键)
- student_name (学生姓名)
- student_email (学生邮箱)
课程表包含以下字段:
- course_id (课程ID,主键)
- course_name (课程名称)
- course_description (课程描述)
选修表包含以下字段:
- enrollment_id (选修ID,主键)
- student_id (学生ID,外键)
- course_id (课程ID,外键)
现在,我们可以使用以下SQL语句创建这三个表并建立它们之间的级联关系:
CREATE TABLE student (
student_id INT PRIMARY KEY,
student_name VARCHAR(50),
student_email VARCHAR(50)
);
CREATE TABLE course (
course_id INT PRIMARY KEY,
course_name VARCHAR(50),
course_description VARCHAR(255)
);
CREATE TABLE enrollment (
enrollment_id INT PRIMARY KEY,
student_id INT,
course_id INT,
FOREIGN KEY (student_id) REFERENCES student(student_id),
FOREIGN KEY (course_id) REFERENCES course(course_id)
);
这些SQL语句将会创建三个表,其中enrollment表包含了两个外键,分别对应student和course表的主键。这种级联关系允许我们通过enrollment表来查询学生和课程之间的关系,例如,我们可以查询某个学生选修了哪些课程:
SELECT course.course_name
FROM course
INNER JOIN enrollment ON course.course_id = enrollment.course_id
WHERE enrollment.student_id = 1;
这个查询将返回学生ID为1的所有课程名称
原文地址: https://www.cveoy.top/t/topic/d31U 著作权归作者所有。请勿转载和采集!