假设我们有三个表:学生(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 著作权归作者所有。请勿转载和采集!

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