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