我需要在一个表中查询递归键
表:
instructor_id
instructor_name
mentor_id
问题
mentor_id具有递归外键
有些记录具有相同的mentor_id。
我该如何查询此表?
我需要输出所有指导他人的教师
答案 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