Oracle過濾和排序

來源:互聯網
上載者:User

標籤:blog   mon   http   code   日期   session   com   多個   llb   

 
 1 SQL> --字串大小寫敏感 2 SQL> --查詢名叫KING的員工 3 SQL> select * 4   2  from emp 5   3  where ename =‘KING‘; 6   7 SQL> --日期格式敏感 8 SQL> --查詢入職日期是17-11月-81的員工 9 SQL> select *10   2  from emp11   3  where hiredate=‘17-11月-81‘;
 1   2 查詢的過程中,要使用符合資料庫儲存的日期格式,不符合會報出錯誤 3 SQL> --查看資料格式 4 SQL> select * from v$nls_parameters; 5 SQL> --修改日期格式 6 SQL> alter session set NLS_DATE_FORMAT=‘yyyy-mm-dd‘; 7 測試新格式可用 8 SQL> select * 9   2  from emp10   3  where hiredate=‘1981-11-17‘;11 另一種格式:之前的格式12 SQL> alter session set NLS_DATE_FORMAT=‘DD-MON-RR‘;
1  2 SQL> --between  and 在。。。。之間3 SQL> --查詢薪水1000~2000之間的員工4 SQL> select *5   2  from emp6   3  where sal between 1000 and 207 SQL>  --between  and: 1. 含有邊界  2. 小值在前 大值在後;8 前後的大小值不能調換順序
 1 SQL> --in 在。。。之中 2 SQL> --查詢部門號是10和20的員工 3 SQL> select * 4   2  from emp 5   3  where deptno in (10,20); 6 SQL> --查詢部門號不是10和20的員工 7 SQL> ed 8 已寫入 file afiedt.buf 9   1  select *10   2  from emp11   3* where deptno not in (10,20)
 1 SQL> --null值 3. 如果集合中含有null,不能使用not in;但可以使用in 2 SQL> select * 3   2  from emp 4   3* where deptno not in (10,20,null) 5 SQL> / 6   7 未選定行 8   9 SQL>select *10   2  from emp11   3* where deptno in (10,20,null)
 關於not in和null的關係,這篇部落格進行了詳細的介紹:http://garlics.blog.51cto.com/2682515/1129977 
 1 SQL> --模糊查詢 %代表任意個任一字元,_代表一個任一字元 2 SQL> --查詢名字以S打頭的員工 3 SQL> select * 4   2  from emp 5   3  where ename like ‘S%‘; 6 SQL> --查詢名字是4個字的員工 7 SQL>select * 8   2  from emp 9   3* where ename like ‘____‘10 SQL> --轉意字元 ,用escape關鍵字表示此符號後面的字元為逸出字元,\處使用的符號可以自訂11 SQL>select *12   2  from emp13   3* where ename like ‘%\_%‘ escape ‘\‘14 SQL> rollback;如果對錶進行了修改操作,可以使用此進行復原。
 1 SQL> --order by後面 + 列、運算式、別名、序號 ,預設是升序排列,desc是降序 2 SQL> select empno,ename,sal,sal*12 3   2  from emp 4   3  order by sal*12 desc; 5 也可以使用別名 6 SQL>select empno,ename,sal,sal*12 年薪 7   2  from emp 8   3* order by 年薪 desc 9 order中的列名可以用序號代替,但是必須是存在的10 SQL>select empno,ename,sal,sal*12 年薪11   2  from emp12   3* order by 4 desc13 SQL> --order by作用於後面所有的列;desc只作用於離他最近的列14 null值得預設為最大15 SQL> --多個列排序16 SQL> select *17   2  from emp18   3  order by deptno,sal;意思是:如果部門號相同,那麼把部門號相同的部分按照工資排序19 SQL>select *20   2  from emp21   3* order by deptno,sal desc;只按照工資進行排序,desc只能作用於工資22 SQL>select *23   2  from emp24   3* order by deptno desc,sal desc;意思是:按照兩個列進行排序,分別添加desc25  26 SQL>select *27   2  from emp28   3  order by comm desc29   4  nulls last將null設定為顯示在最後
拓展:設定單頁顯示的行數SQL> set pagesize 14

Oracle過濾和排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.