当前位置: 代码迷 >> Oracle技术 >> 关于SQL字段和函数同时查询的有关问题
  详细解决方案

关于SQL字段和函数同时查询的有关问题

热度:16   发布时间:2016-04-24 08:22:51.0
关于SQL字段和函数同时查询的问题
员工表:EMP(EMPNO,ENAME);
部门表:DEPT(DEPTNO,DNAME);

要求查询 员工姓名,员工部门名,部门人数;

结果如: 
ENAME  DNAME  NUM
  E1     D1    2
  E2     D1    2
  E3     D2    1

我写的SQL是这样的:
SELECT A.ENAME,B.DNAME,(SELECT COUNT(A.DEPTNO) FROM EMP C WHERE A.DEPTNO = C.DEPTNO) AS NUM
FROM EMP A,DEPT B
WHERE A.DEPTNO = B.DEPTNO;

请问:我的SQL效率如何?有没有别的方法效率更高?
------最佳解决方案--------------------

select a.ename,b.dname,count(1)over(partition by a.deptno) cnt
  from emp a,dept b
 where a.deptno = b.deptno

  相关解决方案