我想从有或没有员工分配的所有部门中选择DNAME,DEPTNO。如果一个部门确实有任何员工,我想获得他们的ENAME,EMPNO。
我试过这个:从emp e full join dept d中选择e.empno,e.name,d.deptno,d.dname 在e.deptno = d.deptno
但它没有用。
表格结构:
DEPT
DEPTNO DNAME
EMP
EMPNO ENAME DEPTNO
答案 0 :(得分:1)
使用OUTER JOIN(LEFT/RIGHT)
SELECT D.DEPTNO,
D.DNAME,
E.EMPNO,
E.ENAME
FROM DEPT D
LEFT OUTER JOIN EMP E
ON D.DEPTNO = E.DEPTNO
当Department
没有任何员工时,NULL
和E.EMPNO
列中会显示E.ENAME
答案 1 :(得分:0)
SELECT
DEPT.DEPTNO,DEPT.DNAME,EMP.EMPNO,EMP.NAME
FROM
DEPT LEFT OUTER JOIN
EMP ON DEPT.DEPTNO = EMP.DEPTNO