SQL高级:递归查询

如果在单表或两表中存储了树形结构数据,那么在查询这些数据时,就有可能要用到递归查询。

在实际的业务场景中,树形结构的数据很常见。比如组织架构、产品材料清单、产品大类和小类等等。

递归查询也是一个很有趣的知识点。我们来学习一下它。

辅助表

为了学习这个知识点,我们要建一个辅助学习的表,叫教师表

create table teachers (
    teacher_id INT,
    supervisor_id INT,
    teacher_name VARCHAR(50)
);

一些示例数据

INSERT INTO teachers VALUES
(1, NULL, 'Principal'),
(2, 1, 'Vice Principal 1'),
(3, 1, 'Vice Principal 2'),
(4, 2, 'Department Head 1'),
(5, 2, 'Department Head 2'),
(6, 3, 'Department Head 3'),
(7, 3, 'Department Head 4'),
(8, 4, 'Senior Teacher 1'),
(9, 4, 'Senior Teacher 2'),
(10, 5, 'Senior Teacher 3'),
(11, 5, 'Senior Teacher 4'),
(12, 6, 'Senior Teacher 5'

你可能感兴趣的:(SQL使用从入门到优化,sql,数据库,递归查询,CTE)