select muqian.emp_no,(muqian.salary -douyou.salary) as growth
from 
    (select s.emp_no,s.salary
    from salaries s 
    where s.to_date = '9999-01-01') as muqian
inner join 
    (select s.emp_no,s.salary
    from employees e inner join salaries s on
    e.hire_date = s.from_date) as douyou
on muqian.emp_no = douyou.emp_no
order by growth

这里最外层的select,虽然是muqian.salary和douyou.salary,但是不是之前各自单独表里面的薪水,而是内连接之后的薪水见上图第三行。我原本是想着把新的内连接的表保存为新表,然后用新表的薪水1列减去薪水2列,但是没必要,

也就是说,这里内连接好了后,不另存为新表,直接用之前未连接的表名与相关列进行计算也可以,所以我就一直搞不懂,连接之后到底要不要别名,现在我总结下来,

连接之后,如果是作为子查询,外面还要再套连接,就给个别名,

但是如果不用再连接了,已经是最后一层了,就不用给别名了

感觉SQL还是不如python,我一直想着能不能把当前薪水另存为“变量”,方便后面使用可是好像不行,无法把计算好的另存为“变量”,必须作为表的一部分,把所有要算的东西通过各种连接连到同一张表里面,再进行计算。