Oracle查詢語句的排序

2021-09-16 13:56:59 字數 1266 閱讀 5116

首先查一下student表全表的資料,查詢出來的student表有五個列,分別是sno-編號、sname-姓名、s***-性別、sbirthday-出生日期和class-班級。從表中可以看到,這五個列的資料是雜亂無章的,也就是沒有經過排序的。

接著就用sno來給這個表進行排序,這裡的排序**只寫了order by sno,在plsql裡有兩種排序方式,ascend(公升序)和descend(降序),他們在plsql是用簡寫asc和desc。而預設的排列方式就是asc,所以這裡只用order by sno也可以達到公升序排序的效果。

用sno來進行倒序排序結果如下

接下來要用一種更簡單的方法來進行排序,但是這種方法要求對需要排序的表結構比較熟悉,因為要用到該錶需要排序的字段所在的列序號。如下圖所示,sno和sbirthday在該錶分別是第一和第四列,那麼就可以用1和4來替代order by sno和order by sbirthday,寫成order by 1 和 order by 4。查詢出來的結果也就是sno和sbirthday的公升序排序,如果要查倒序排序,就在結尾加上desc即可。

上面的排序都是針對某個欄位的排序,接下來的排序是針對多個欄位的排序。這種排序方式可以同時對多個字段進行排序,但是有一點需要注意的是用多個字段排序時會有先後之分。仔細看下面的可以發現,多個字段時會先對最前面的字段進行排序,然後在排序出來的結果上再進行後面欄位的排序。如下圖中order by s***,sno的查詢結果,先查性別的排序再查編號的排序,結果就會是性別為男的在上面女的在下面,這時性別為男的再來個編號的排序,女的同樣,所以男的編號和女的編號都是從小到大。附個查詢班級和性別排序的圖輔助理解

多個欄位的排序也是可以用倒序進行排序的。

以上就是對查詢語句排序的總結。

Oracle查詢語句練習題,排序, ,in

已知有以下表,資料如圖 create table s emp id number 7 constraint s emp id nn not null,last name varchar2 25 constraint s emp last name nn not null,first name var...

Oracle查詢語句

select sysdate from dual dual 臨時的表,使語法結構完整,沒有什麼意義。oracle中的select語句必須要有from 而sql2008中可以沒有。起別名 起別名 as起別名,不用加雙引號.加空格起別名,要加雙引號 select name as 姓名 from stud...

Oracle查詢語句

列出所有部門的詳細資訊和部門人數。這裡需要部門的詳細資訊和部門人數,顯然需要我們進行表的連線 那麼這裡我們先貼出兩張表長啥樣 像這樣的關於兩張表的連線,那麼我們一般先一張一張來 比如這裡我們可以先解決部門的詳細資訊 然後解決部門人數 select deptno,count 1 人數 from emp...