別名
成都創(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
1、首先在oracle建立數(shù)據(jù)表的時候,對表的命名有以下規(guī)范:以字母開頭表名長度不能超過30個字符,不能使用oracle保留關鍵字,可以使用A-Z,a-z,0-9,#,$等。
2、如果表名中包含特殊字符是直接報錯的。如下圖使用了? *。
3、在建立表的時候,數(shù)字也是不能使用表名的開始的。
4、但如果使用雙引號對表名進行規(guī)范的話,是可以建立以數(shù)字或者包含特殊字符的表名的。
5、過這樣建立的表名,在查詢數(shù)據(jù)的時候是非常麻煩的,查詢時也要加雙引號。而且這樣建立的表名,在項目運行的過程中也非常容易造成各種麻煩,所以盡量不要使用。
以下是對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
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)