sql - 选择并显示与用户提示的ename具有相同deptno和mgr的员工
问题描述
显示与给定员工(提示)具有相同 DEPTNO 和 MGR 的员工,不包括该员工。谁能帮我解决这个问题,并告诉我如何排除用户提供的员工。
select ename,deptno,mgr from emp where
deptno=(select deptno from emp where ename='&&ename')
AND
mgr=(select mgr from emp where ename='&ename');
解决方案
例如:
SQL> select deptno, empno, ename, mgr
2 from emp
3 order by deptno, mgr;
DEPTNO EMPNO ENAME MGR
---------- ---------- ---------- ----------
10 7934 MILLER 7782
10 7782 CLARK 7839
10 7839 KING
20 7788 SCOTT 7566
20 7902 FORD 7566
20 7876 ADAMS 7788
20 7566 JONES 7839
20 7369 SMITH 7902
30 7521 WARD 7698 --> we'll watch these
30 7499 ALLEN 7698 -->
30 7844 TURNER 7698 -->
30 7900 JAMES 7698 -->
30 7654 MARTIN 7698 --> employees
30 7698 BLAKE 7839
14 rows selected.
查询:第 3 - 6 行选择具有相同DEPTNO
和的那些MGR
,而第 7 行不包括该员工(由 标识PAR_EMPNO
)。
SQL> select e.*
2 from emp e
3 where (e.deptno, e.mgr) = (select a.deptno, a.mgr
4 from emp a
5 where a.empno = &&par_empno
6 )
7 and e.empno <> &&par_empno;
Enter value for par_empno: 7521
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7499 ALLEN SALESMAN 7698 02/20/1981 1600 300 30
7654 MARTIN SALESMAN 7698 09/28/1981 1250 1400 30
7844 TURNER SALESMAN 7698 09/08/1981 1500 0 30
7900 JAMES CLERK 7698 12/03/1981 950 30
SQL>
推荐阅读
- java - java - 如何使用retrofit2在java中使用@POST正确执行服务
- php - 如何在两天内按小时获取数据?(谷歌分析报告 API v4,PHP 库)
- python - Flask 视图引发“AttributeError:‘函数’对象没有属性”
- javascript - 使用 Redux Thunk 在 React Redux 应用程序中使用异步调用保持 DRY
- php - 如何测试 Ajax FAIL 处理程序
- eclipse - GitHub 使用 Eclipse 推送和提交
- java - 创建媒体播放器时出错;Java、安卓工作室
- python - 如何让调试器单步执行整个程序?
- node.js - 在 mongoose 中保存和检索相关数据
- javascript - 将数据从firebase附加到表的问题