sql—选择并显示与用户提示的名称具有相同deptno和mgr的员工

pgpifvop  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(282)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

10个月前关门了。
改进这个问题
显示与给定员工具有相同部门号和经理的员工(提示),不包括该员工。有谁能帮我解决这个问题,告诉我如何排除用户提供的雇员。

select ename,deptno,mgr from emp where 
deptno=(select deptno from emp where ename='&&ename') 
AND 
mgr=(select mgr from emp where ename='&ename');
yzckvree

yzckvree1#

例如:

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>

相关问题