选择SQL中的语句,如自联接

时间:2018-05-02 22:16:55

标签: sql select

我有一张桌子 表EMP(     EMPNO号码(4),   ENAME VARCHAR2(10),   JOB VARCHAR2(9),   MGR NUMBER(4),   HIREDATE DATE,   SAL号码(7,2),   COMM NUMBER(7,2),   DEPTNO NUMBER(2));

这是一个问题 您需要一份报告,列出员工姓名,经理姓名以及他们工作的部门名称。 MGR列存储EMPNO而不是名称。编写SELECT语句。

我该怎么写这个SELECT STATEMENT?

SELECT ENAME,MGR,DEPTNO,..... 来自EMP

1 个答案:

答案 0 :(得分:0)

使用此查询获取员工的经理。

SELECT A.ENAME AS EMPLOYEE, B.ENAME AS MANAGER, A.DEPTNO AS DEPTNO
FROM EMP A, EMP B
WHERE A.MGR = B.EMPNO;

<强>插图:

EMP-1的经理是MGR-1,​​EMP-2的经理是MGR-2,MGR-1和MGR-2是他们自己的经理

SELECT * from EMP;
EMPNO   ENAME   JOB    MGR  HIREDATE    SAL     COMM    DEPTNO
1       EMP-1   ADMIN   5   01-01-2000  2000.05 1000.05 10
2       EMP-2   ADMIN   4   01-02-2000  3000.05 3000.05 11
5       MGR-1   ADMIN   5   01-01-1995  9000.05 9000.05 9
4       MGR-2   ADMIN   4   01-05-1995  8000.05 8000.05 9

-- query output
EMPLOYEE    MANAGER DEPTNO
MGR-1       MGR-1   9
EMP-1       MGR-1   10
MGR-2       MGR-2   9
EMP-2       MGR-2   11