首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-12-22 
关于SQL字段和函数同时查询的问题员工表:EMP(EMPNO,ENAME)部门表:DEPT(DEPTNO,DNAME)要求查询 员工姓名,

关于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

热点排行