关于oracle中order by使用的一点问题

这里有个A表,有字段S_ID、NAME,现在表中有5条记录

S_ID    NAME
6	设备4端口1速率
8	设备2端口1速率
10	设备0端口1速率
7	设备1端口1速率
9	设备3端口1速率

查询语句为“SELECT * FROM A”时,结果如上。

查询语句为“SELECT * FROM A ORDER BY  S_ID” ,结果如下

6	设备4端口1速率
7	设备1端口1速率
8	设备2端口1速率
9	设备3端口1速率
10	设备0端口1速率

查询语句为“SELECT * FROM A ORDER BY NAME”,结果如下

10	设备0端口1速率
7	设备1端口1速率
8	设备2端口1速率
9	设备3端口1速率
6	设备4端口1速率

查询语句为“SELECT NAME AS S_ID FROM ORDER BY S_ID”,结果如下

设备0端口1速率
设备1端口1速率
设备2端口1速率
设备3端口1速率
设备4端口1速率

可以看到这里S_ID是辨认为name的别名,而不是表中的字段。因此可以推断order by是根据查询结果进行排序的

猜你喜欢

转载自xiaoxiaoher.iteye.com/blog/2420025