oracle查詢怎么排序 oracle 查詢結果排序

oracle筆記之簡單查詢、限定查詢和排序

別名

成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設公司,專注重慶網(wǎng)站建設、網(wǎng)站設計,有關企業(yè)網(wǎng)站建設方案、改版、費用等問題,行業(yè)涉及發(fā)電機回收等多個領域,已為上千家企業(yè)服務,得到了客戶的尊重與認可。

oracle別名如果別名包含空格 特殊字符(如# $) 或需區(qū)分大小寫(Name)需要用雙引號把別名引起來

select ename Name

sal* Annual Salary

from emp;

列的別名可用于select和order by子句中 但是不能用在where子句中

連接操作符 ||

select ename||job as Employees

from emp;

原義字符串 包含在select列表中的一個字符 數(shù)字或日期 而不是列名或別名 使用原義字符串可增強輸出的可讀性

select ename|| is a ||job

as Employees from emp;

去除重復行distinct

select distinct deptno

from emp;

sql*plus登錄

sqlplus [username[/password[@database]]]

在sql*plus中編輯sql緩沖區(qū)中的sql語句

SQLselect depno

dname

from dept;

sqlL

*dname

sqlA loc

*dname loc

sqlL

select depno

dname loc

*from dept

sql/(執(zhí)行)

限定查詢和排序

select empno ename job deptno

from emp

where deptno= ;

oracle提供 種常用的比較運算符 = = = 或!=(不等于)

除了 種常用的外還提供 種比較運算符 beeen and (包含) IN(和多個值中的任何一個匹配) like (字形匹配)

is null(是空值)

在where子句中的字符串和日期數(shù)值必須用單引號引起來 oracle 以內部數(shù)值形式存儲日期 能表現(xiàn)出世紀 年 月 日 小時 分 秒 默認的日期形式是DD MON YY

sqlselect ename job deptno

from emp

where ename= JAMES ;

sqlselect name job deptno

from emp

where ename= james ;

所有字符檢索都是大小寫敏感的

顯示工資在 和 美元之間的雇員信息

select ename sal

from emp

where sal beeen and ;

顯示 年加入公司的雇員相關信息

select ename sal hiredate

from emp

where hiredate beeen JAN and DEC ;

顯示mgr等于 的雇員信息

select empno ename sql mgr

from emp

where mgr in ( );

顯示姓名為FORD ALLEN雇員的相關信息

select empno ename mgr deptno

from emp

where ename in( FORD ALLEN );

like字形匹配操作可以使用通配符 % (表示任意字符)和 _ (表示一個字符)

select ename

from emp

where ename like S% ;

當我們需要對% _進行查找時 可以使用escape選項 這個選項指定哪個是轉義字符

escape標識 \ 字符作為轉義符

select ename

from emp

where ename like %A\_B% escape \ ;

在條件中NOT 形成否定條件

select ename job

from emp

where job not in ( CLERK MANAGER ANALYST );

where sal not beeen and

where ename not like %A%

wher m is not null

運算符優(yōu)先規(guī)則

not and or

select ename job sal

from emp

where job= SALESMAN

or job= PRESIDENT

and sal ;

第一個條件是工作為president并且月工資大于 美元

第二個條件是工作為sale *** an

因此可以這樣理解 如果一個雇員是president并且月工資大于 或者這個雇員是sale *** an 那么他們將被檢索出

select ename job sal

from emp

where (job= SALESMAN

or job= PRESIDENT )

and sal ;

第一個條件是工作為president或saleman

第二個條件是月工資大于

order by子句后可選用關鍵字asc(升序默認為升序) desc(降序排列)

select ename job deptno hiredate

from emp

lishixinzhi/Article/program/Oracle/201311/17302

oracle數(shù)據(jù)表數(shù)據(jù)如何排序,比如按照日期排序

1、首先在oracle建立數(shù)據(jù)表的時候,對表的命名有以下規(guī)范:以字母開頭表名長度不能超過30個字符,不能使用oracle保留關鍵字,可以使用A-Z,a-z,0-9,#,$等。

2、如果表名中包含特殊字符是直接報錯的。如下圖使用了? *。

3、在建立表的時候,數(shù)字也是不能使用表名的開始的。

4、但如果使用雙引號對表名進行規(guī)范的話,是可以建立以數(shù)字或者包含特殊字符的表名的。

5、過這樣建立的表名,在查詢數(shù)據(jù)的時候是非常麻煩的,查詢時也要加雙引號。而且這樣建立的表名,在項目運行的過程中也非常容易造成各種麻煩,所以盡量不要使用。

Oracle基本查詢過濾排序示例解析

以下是對Oracle中的基本查詢過濾排序示例進行了詳細的分析介紹 需要的朋友可以參考下 ?

基本查詢

復制代碼 代碼如下: 查詢所有員工的信息 select * from emp; 設置行寬 set linesize ; 設置列寬為四個數(shù)字的寬度 col empno for ; 設置列寬 a表示字符串共八位長度 col ename for a 設置pageSize每頁顯示 條記錄 set pagesize ; sql中支持算數(shù)表達式 注意 如果一個表達式中含有空值 則整個表達式為空 select empno ename sal sal* m sal* +m from emp; 使用濾空函數(shù)如果m為空將以 代替 select empno ename sal sal* m sal* +nvl(m ) from emp; 使用別名的三種方式 別名中有無雙引號的區(qū)別 帶雙引號的可以包含空格和特殊字符 不帶雙引號的則不能 select empno as "員工編號" ename "姓名" sal 月薪 m sal* +nvl(m )年收入 from emp; 關于disctinct 相同記錄只取一次 select distinct deptno from emp; 當disctinct跟多個值時 當deptno和job均一樣時 才認為是相同記錄 select distinct deptno job from emp; 連接符的使用 select ename || 的薪水是 ||sal from emp;

注意 SQL 語言大小寫不敏感 SQL 可以寫在一行或者多行 關鍵字不能被縮寫也不能分行 各子句一般要分行寫 使用縮進提高語句的可讀性 過濾和排序

復制代碼 代碼如下: 查詢系統(tǒng)參數(shù) select * from v$nls_parameters; 修改日期格式 alter session set NLS_DATE_FORMAT= yyyy mm dd ; 隱士方式轉換日期 會影響性能 select * from emp where hiredate= ; 顯示方式轉換日期 select * from emp where hiredate=to_date( yyyy mm dd ); 比較運算符 查詢工資大于 小于 的員工 beeen and含邊界 select * from emp where sal= and sal= ; select * from emp where sal beeen and ; in: 在集合中 查詢 號部門和 號部門的員工 select * from emp where deptno= or deptno= ; select * from emp where deptno in ( ); 模糊查詢:查詢名字以S打頭的員工 select * from emp where ename like S% ; 查詢名字有四個字的員工 要求四個下劃線 select * from emp where ename like ____ ; 查詢姓名中含義下劃線的員工 _下劃線為特殊字符需要轉義 escape 聲明轉義 select * from emp where ename like %\_% escape \ ; 查詢獎金不為空的員工 select * from emp where m is not null; 查詢員工信息 按照月薪排序 select * from emp order by sal; a命令 追加命令 將上邊改為降序排序 a? desc 查詢員工信息 按照年薪排序 select empno ename sal sal* from emp order by sal* ; order by后面可以跟別名 select empno ename sal sal* 年薪 from emp order by 年薪; order by后面可以跟序號 select empno ename sal sal* from emp order by ; order by作用于多列 先按照第一列排序 然后按照第二列排 select * from emp order by deptno sal; order by作用于多列 降序需要每列均有desc select * from emp order by deptno desc sal desc 將空值排到最后 select * from emp order by m desc nulls last; 屏蔽/開啟反饋信息 set feedback off/set feedback on lishixinzhi/Article/program/Oracle/201311/19117

oracle怎么排序

Oracle9i之前,中文是按照二進制編碼進行排序的。在oracle9i中新增了按照拼音、部首、筆畫排序功能。

1、設置NLS_SORT參數(shù)值

SCHINESE_RADICAL_M 按照部首(第一順序)、筆劃(第二順序)排序 SCHINESE_STROKE_M 按照筆劃(第一順序)、部首(第二順序)排序 SCHINESE_PINYIN_M 按照拼音排序

2、Session級別的設置,修改ORACLE字段的默認排序方式:

按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;

按筆畫:alter session set nls_sort = SCHINESE_STROKE_M;

按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;

3、語句級別設置排序方式:

按照筆劃排序 select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');

按照部首排序 select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');

按照拼音排序 此為系統(tǒng)的默認排序方式

select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');

4、修改系統(tǒng)參數(shù)(數(shù)據(jù)庫所在操作系統(tǒng)):

set NLS_SORT=SCHINESE_RADICAL_M export NLS_SORT (sh) setenv NLS_SORT SCHINESE_RADICAL_M (csh) HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注冊表)

網(wǎng)站題目:oracle查詢怎么排序 oracle 查詢結果排序
鏈接地址:http://muchs.cn/article4/hjsooe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、外貿(mào)網(wǎng)站建設網(wǎng)站收錄、域名注冊、軟件開發(fā)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司