SQL查询 - 如何查询递归键

时间:2013-11-16 20:20:49

标签: mysql sql recursion

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

表:

instructor_id

instructor_name

mentor_id

问题

mentor_id具有递归外键

有些记录具有相同的mentor_id。

我该如何查询此表?

我需要输出所有指导他人的教师

2 个答案:

答案 0 :(得分:2)

这是指导某人的所有教师

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

答案 1 :(得分:0)

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

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