ORDER BY 语句中的使用子查询的疑问

10. 在order by 子句中使用子查询,查询员工姓名、性别和工龄信息,要求按实际收入从大到小排列。



使用子查询

mysql> select 姓名,性别,工作时间
    -> from employees
    -> order by (select 收入-支出
    -> from salary
    -> where salary.编号=employees.编号) desc;

不使用子查询

mysql> select 姓名,性别,工作时间
    -> from employees,salary
    -> where salary.编号=employees.编号
    -> order by 收入-支出 desc;

结果均为:


ORDER BY 语句中的使用子查询的疑问_第1张图片



实际收入具体数据

mysql> select 姓名,性别,工作时间,(收入-支出) as '实际收入'
    -> from employees,salary
    -> where employees.编号=salary.编号
    -> order by 收入-支出;

ORDER BY 语句中的使用子查询的疑问_第2张图片





问题


在使用子查询时具体的在子查询成表后order by的操作?
该表无与employees的连接条件; 又或者在子查询成表时就已经有的约束条件where employees.编号=salary.编号在order by 语句中也存在?

你可能感兴趣的:(mysql)