表 emp 包含欄位:ename (員工姓名)、boss (上級姓名)。需求:查找「王五」的上級,並列出所有屬於該上級的員工。
ename | boss
------|-----
王五 | 張三
李四 | 張三
趙六 | 李四
SELECT *
FROM emp
WHERE boss IN (
SELECT boss
FROM emp
WHERE ename = '王五'
);
SELECT boss FROM emp WHERE ename = '王五' → 返回 '張三'。WHERE boss IN ('張三') → 篩選所有上級為「張三」的員工。SELECT e1.*
FROM emp e1
JOIN emp e2 ON e1.boss = e2.boss
WHERE e2.ename = '王五';
CONNECT BY / WITH RECURSIVE)。IN 正常工作,= 會報錯「single-row subquery returns more than one row」。boss 欄位有索引,提升查詢速度。empno) 關聯,避免同名歧義。