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;
结果均为:
实际收入具体数据
mysql> select 姓名,性别,工作时间,(收入-支出) as '实际收入'
-> from employees,salary
-> where employees.编号=salary.编号
-> order by 收入-支出;
问题
在使用子查询时具体的在子查询成表后order by的操作?
该表无与employees的连接条件; 又或者在子查询成表时就已经有的约束条件where employees.编号=salary.编号在order by 语句中也存在?