SQL 查询 - 如何查询递归键



我需要在一个表中查询递归键

该表:

instructor_id

instructor_name

mentor_id

问题

mentor_id具有递归外键

某些记录具有相同的mentor_id。

我将如何查询此表?

我需要输出所有正在指导他人的讲师

这是所有指导某人的讲师

SELECT instructor_id, instructor_name
FROM instructors
WHERE instructor_id IN (SELECT mentor_id FROM instructors)

编辑:如果你想要所有的指导关系

SELECT i.*, m.instructor_name AS mentor_name
FROM instructors i
  JOIN instructors m ON m.instructor_id = i.mentor_id

使用嵌套查询的替代方法是INNER JOIN

SELECT DISTINCT t1.* 
FROM yourTable t1 
INNER JOIN yourTable t2 ON t1.instructor_id = t2.mentor_id

最新更新