我有这张 table :
CREATE TABLE EMP
(EMPNO NUMBER(4) CONSTRAINT EMP_PRIMARY_KEY PRIMARY KEY ,
ENAME varchar2(10),
JOB varchar2(9),
MGR NUMBER(4)CONSTRAINT EMP_SELF_KEY REFERENCES EMP (EMPNO),
HIREDATE DATE,
CONSTRAINT EMP_FOREIGN_KEY REFERENCES DEPT (DEPTNO));
现在我想获取所有 worker 的姓名 (ename)、工作 (job) 和经理 (mgr) 的姓名。
我想通过同一张 table 上的连接来做到这一点:
SELECT ename, job, empno
FROM emp
INNER JOIN emp AS emp1
ON (emp.mgr = emp1.empno);
但我总是收到错误:“缺少关键字”
最佳答案
我认为您必须从内部连接语句中删除 AS
:
SELECT emp.ename, emp.job, emp.empno
FROM emp
INNER JOIN emp emp1
ON (emp.mgr = emp1.empno);
并且您必须在每个列名之前添加别名。
关于SQL Join 两次同一个表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24691500/