Order by 排序的理解

开发工具与关键技术:Oracle sql*plus 、 PLSQL Developer
作者:吴晓佩
撰写时间:2019年4月7日

Order by exper asc为升序排序Order by exper desc为降序排序,执行顺序最后)。

我们理解order by 进行升序倒序排序的时候,排序一个字段很直观易懂,但在一个查询里面排序两个或多个字段的时候有些同学就会陷入误区,认为这个排序是不成立的,这样会导致字段不完整、混乱。是的,如果两个字段都要按照该列字段升序(倒序)排序,则该排序是不成立的。我们要知道,查询数据,只是根据条件进行筛选与操作,而数据本身的完整性是不会改变的,所以,我们在进行多行数据排序的时候要实现数据的完整性,在排序的时候就要按照一定的顺序,把最先排序的列字段按照所需的要求进行排序,所以此次排序中第一列已排序好的字段已经是不可改变的了,往后排序的字段则需要根据前面已经排好的字段看前面排序字段是否存在相同字段,如果存在相同的列字段则再从相同的字段进行第二列字段的所需条件排序,如果前列排序字段不存在相同的字段,则第二列无法进行排序,多列字段排序亦按此推理进行。

如下图,我们先根据department_id进行升序(asc),然后再按last_name升序排序,我们发现department_id 排序很明了,而last_name列排序就比较含糊了,但是我们在department_id =80,90数据之间可以发现,在相同的department_id中last_name字段排序是按照升序排序的,这样的数据就保证了数据的完整性。
Order by 排序的理解_第1张图片
排序会根据字母与数字进行排序,汉字可以按照笔画,部首或字母排序,默认是按拼音首字母进行排序。

如图是按拼音排序(系统默认),关键词SCHINESE_PINYIN_M;
Order by 排序的理解_第2张图片
如图是按笔画排序,关键词SCHINESE_STROKE_M。
Order by 排序的理解_第3张图片
如图是按部首排序,关键词SCHINESE_RADICAL_M。
Order by 排序的理解_第4张图片

你可能感兴趣的:(Order by 排序的理解)