相关和非相关查询区别

xiaoxiao2026-06-11  10

相关和非相关查询区别--求各部门人数--格式:select d.*,0 人数 from dept dselect d.*,(  select count(*) from emp e  where e.deptno=d.deptno) 人数from dept dselect d.* from dept d部门:10select count(*) from emp e   where e.deptno=1020select count(*) from emp e   where e.deptno=2030select count(*) from emp e   where e.deptno=3040select count(*) from emp e   where e.deptno=4050select count(*) from emp e   where e.deptno=5060select count(*) from emp e   where e.deptno=60对于部门表的每一条记录,都要单独执行一次子查询,所以称为相关子查询。列出薪金比“SMITH”多的所有员工select * from emp ewhere e.sal>(  select e.sal from emp e  where e.ename='SMITH')smith的值只求一次,这个值对于emp中所有记录都是一样的,即不与各记录相关,所以称为非相关子查询。

分析:效率高的是:非相关。原因:相关子查询执行统计的次数太多

 

转载请注明原文地址: https://www.6miu.com/read-5049976.html

最新回复(0)