# 题目
分析命令每一步的临时表：
`select ename, sal, (select avg(sal) from emp) from emp where deptno=20;`

# 分析

## 第一步
执行 from emp where deptno=20 得到

    +-------+-------+---------+------+------------+---------+------+--------+
    | EMPNO | ENAME | JOB     | MGR  | HIREDATE   | SAL     | COMM | DEPTNO |
    +-------+-------+---------+------+------------+---------+------+--------+
    |  7369 | SMITH | CLERK   | 7902 | 1980-12-17 |  800.00 | NULL |     20 |
    |  7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL |     20 |
    |  7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000.00 | NULL |     20 |
    |  7876 | ADAMS | CLERK   | 7788 | 1987-05-23 | 1100.00 | NULL |     20 |
    |  7902 | FORD  | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL |     20 |
    +-------+-------+---------+------+------------+---------+------+--------+

## 第二步
执行子查询`(select avg(sal) from emp)`而不是外层的select； 得到平均工资；
因为这个select跟在一个外层的select中，所以子查询将对临时表新增一为(select avg(sal) from emp)的字段，赋值就是平均工资。

## 第三步
外层select：抓取字段 ename, sal, 和子查询新增的字段 （**新增一列的步骤是子查询完成的**，select也只是切取出这一字段）