假设我们有表格:
EMPNO ENAME DEPTNO
------ ------ ----------
7369 SMITH 20
7499 ALLEN 30
7654 MARTIN 30
7788 SCOTT 20
7839 KING 10
7900 JAMES 30
我们怎样才能找到与SCOTT相同的所有员工? 我尝试如下:
SELECT e.ename FROM employee e INNER JOIN employee m ON e.deptno=m.deptno;
,但结果不正确。
答案 0 :(得分:0)
尝试再添加一个条件,如下所示
SELECT e.ename
FROM employee e
INNER JOIN employee m ON e.deptno=m.deptno
AND m.ENAME = 'SCOTT'
WHERE m.ENAME <> 'SCOTT'; -- exclude scott
您也可以尝试使用子查询
SELECT e.ename
FROM employee e
WHERE EXISTS
(
SELECT 1
FROM employee M
WHERE M.ENAME = 'SCOTT'
and E.deptno=M.deptno
)
AND m.ENAME <> 'SCOTT'; -- exclude scott;