当前位置:Gxlcms > mysql > 关联子查询和嵌套子查询

关联子查询和嵌套子查询

时间:2021-07-01 10:21:17 帮助过:39人阅读

关联子查询和嵌套子查询 Sql代码 www.2cto.com create table EMP ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), DEPTNO NUMBER(2) ); 如上表,要查询所有低于本部门平均工资的员工信息

关联子查询和嵌套子查询

Sql代码 www.2cto.com

create table EMP

(

EMPNO NUMBER(4) not null,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

DEPTNO NUMBER(2)

);

如上表,要查询所有低于本部门平均工资的员工信息

嵌套子查询:

Sql代码

select * from emp a where a.sal < (select avg(sal) from emp b where b.deptno = a.deptno)

可以看出每条记录都要关联一个子查询(每条都要先查询自己的deptno,然后再子查询),这样效率不高

关联子查询:

Sql代码

select a.* from emp a ,(select deptno,avg(sal) sal from emp group by deptno) b

where a.deptno=b.deptno

and a.sal < b.sal ;

人气教程排行