选择有或没有员工的部门。如果分配了

时间:2016-12-21 01:34:11

标签: sql database select

我想从有或没有员工分配的所有部门中选择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

2 个答案:

答案 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没有任何员工时,NULLE.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