Oracle之資料排序

2021-09-25 06:08:16 字數 1133 閱讀 1176

在oracle資料庫中想要對查詢道的資料集先排序在輸出出來怎麼實現?

語法:在select語句的最後加上一行   order by [asc|desc]  即orderby語句必定是跟著符號  ;  的,它只能對最終的查詢結果進行排序,例如巢狀查詢中的子查詢就不可以使用。

如select * from student where  studentid between 2016 and 2019 order by  studentid  desc;

上面的語句的意思是按studentid的大小的降序排序輸出。

按什麼排序

其中按什麼排序有by後面跟著的列名來定義,by後面可以跟著乙個列名,也可以跟著多個列名。

①按列名:

sql> select ename, job, deptno,hiredatefrom emp  order byhiredate;

②按列別名

select empno, ename,sal*12 annsalfrom emp  order byannsal;

③按列號

select ename,deptno,salfrom emp  order by2,3desc;

按照選擇列的第二列的deptno公升序排序後,按照第三列sal降序排序

怎麼排序

其中排序有兩種:

①公升序asc(假如orderby語句不設定排序規則的話,就會採用預設排序規則asc)

這種排序規則就是按照數值從小到大排序輸出,其中oracle認為空值null在數值上為最大,所以預設被排在最後,當然也可以在orderby語句最後加上 null first 把空值排到前面。(相比而言sqlserver 認為 null 最小)

②降序desc

這種排序規則就是按照數值從大到小排序輸出,其中字元的話就按照字元的ascll值大小排序,即先排a-z,再派a-z

Oracle之資料幫浦

建立目錄 create directory 目錄名稱 as c dir grant read,write on directory 目錄名稱 to scott 1.匯出scott的表student和emp expdp scott 123 orcl directory 目錄名稱 dumpfile x....

Oracle之資料修改

一 插入 如果只要乙個表的表結構 結尾新增 where 1 0 sql create table dept as select from departments where 1 0 table created.當插入欄位數和表字段數一致可以不輸入欄位名,數目不一致時需指明字段,操作如下 sql de...

Oracle筆記之Oracle資料庫資料型別

1 char 定長,create table tablename filed1 char 32 最大2000個字元,存放時超過報錯,不足補空格。補 dump函式,檢視字段資訊。select filed1,dump filed1 from tablename 2 varchar2 變長,最大4000個...