编辑代码

SELECT c.cname
FROM Courses c
WHERE c.precourse_id IN (
    SELECT p.id
    FROM Precourses p
    WHERE p.pname = '数据结构'
);



SELECT c.cname
FROM Courses c
JOIN Precourses p ON c.precourse_id = p.id
WHERE p.pname = '数据结构';













-- 创建课程表
CREATE TABLE Courses (
    course_id INT PRIMARY KEY,
    cname VARCHAR(100),
    precourse_id INT
);


CREATE TABLE Precourses (
    id INT PRIMARY KEY,
    pname VARCHAR(100)
);


-- 插入先修课数据
INSERT INTO Precourses (id, pname) VALUES
(1, '数据结构'),
(2, '计算机组成原理'),
(3, '操作系统');


INSERT INTO Courses (course_id, cname, precourse_id) VALUES
(101, '算法分析', 1),
(102, '数据库系统', 1),
(103, '计算机网络', 2),
(104, '软件工程', 3);