为什么select在order by之前,但是order by可以使用select后未选择的列进行排序呢?
select中选择的是需要显示查询结果的字段,而order by选择的对象是表中的任意字段,并不受select影响
假如表t1有列f1,f2,f3,f4
select * from t1,则返回4个列,order可以用所有列
select f1,f2 from t1,则返回f1,f2列,order可以用所有列,不受返回列影响
select * from (select f1,f2 from t1),返回f1,f2列,外边这层select,他的order只能是f1和f2,因为他接受到的数据里没有其他列