Oracle學習筆記(5)——查詢

來源:互聯網
上載者:User

標籤:

  • 基本查詢語句
    • SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE conditions]

  • 在SQL*PLUS中設定格式
    • 更改顯示欄位名:COLUMN column_name HEADING new_name   (注意COLUMN可以簡寫成COL)
      • 例如:
                                 col username heading 使用者名稱;
                                 select * from users;
  • 設定顯示結果的格式:COLUMN column_name FORMAT dataformat;  (注意COLUMN可以簡寫成COL,字元類型只能設定顯示的長度)
    • 例如
                            col username format a10;  注意:字元類型用a代表,a10表示設定字元類型長度為10。數值類型用9表示                            select * from users;                            col salary format 9999.9;  注意:數值類型用9表示                            select * from users;
  • 清除之前設定過的格式:COLUMN column_name CLEAR;
    • 例如:
                            col username clear;                            col salary clear;
  • 查詢表中的所有欄位及指定欄位
    • 查詢所有欄位:SELECT * FROM table_name;
    • 查詢指定欄位:SELECT column1_name,column2_name... FROM table_name;

  • 給欄位設定別名(*給欄位設定別名是針對查詢結果進行的,並沒有更改欄位的名字)
    • SELECT column_name AS new_name,... FROM table_name; 注意:AS可以省略,用空格隔開原來的欄位名和新欄位名即可。
      • 例如:
                        select id as 編號,username as 使用者名稱,salary  工資 from users;
  • 運算子和運算式
    • 運算式 = 運算元 + 運算子
    • Oracle中的運算元可以有變數,常量和欄位
    • 運算子
      • 算數運算子(+,-,*,/)
      • 比較子(>,>=,<,<=,=,<>)
      • 邏輯運算子(and,or,not)。優先順序:按not、and、or的順序依次遞減。比較子的優先順序高於邏輯運算子
  • 在SELECT語句中使用運算子(省略)
  • 帶條件的查詢
    • 單一條件的查詢
      • 查詢使用者名稱為aaa的員工薪水:select salary from users where username=‘aaa‘;
    • 多條件的查詢
      • 查詢名字是aaa,或者工資在800到2000之間的員工資訊
                                select * from users where username=‘aaa‘ or (salary > 800 and salary <=2000)
  • 模糊查詢 LIKE
    • 萬用字元的使用( _ 、%)
      • 一個 _ 只能代表一個字元
      • %可以代表0到多個任一字元
    • 使用LIKE查詢
      • 例:查詢使用者名稱以a開頭的使用者資訊。select * from users where username like ‘a%‘;
      • 例:查詢使用者名稱的第二個字元是a的使用者資訊。select * from users where username like ‘_a%‘;
      • 例:查詢使用者名稱中含有a的使用者資訊。select * from users where username like ‘%a%‘;

  • 範圍查詢  
    • BETWEEN ... AND  閉區間。
      • 例:查詢員工薪水在800和2000之間的所有員工資訊:select * from users where salary between 800 and 2000;  注意包含800和2000
      • 例:查詢員工薪水不在800和2000之間的所有員工資訊:select * from users where salary not between 800 and 2000;
    • IN / NOT IN
      • 查詢使用者名稱是aaa或者bbb的使用者資訊:select * from users where username in(‘aaa‘,‘bbb‘);
      • 查詢使用者名稱不是aaa,也不是bbb的使用者資訊:select * from users where username not in(‘aaa‘,‘bbb‘);

  • 對查詢結果排序
    • SELECT ... FROM ... [WHERE ...] ORDER BY column1 DESC/ASC,...;   DESC:降序,ASC:升序
      • 例:select * from users order by id desc;
      • 例:select * from users order by id desc,salary asc;

  • case...when語句的使用
    • 作用:就是在我們查詢語句當中可以根據我們欄位不同的值,還可以顯示不同的結果。
    • CASE column_name WHEN value1 THEN result1,... [ELSE result] END;
      • 例子:根據不同的使用者名稱來得到他所在的部門
                            select username,case username when ‘aaa‘ then ‘電腦部門‘                            when ‘bbb‘ then ‘市場部門‘ else ‘其他部門‘ end as 部門 from users;
  • CASE WHEN column_name=value1 THEN result1,... [ELSE result] END;
    • 例子:
                            select username,case when username=‘aaa‘ then ‘電腦部門‘                            when  username=‘bbb‘ then ‘市場部門‘ else ‘其他部門‘ end as 部門 from users;
    • 例子:
                            select username,case when salary<800 then ‘工資低‘ when salary>5000 then ‘工資高‘ end as 工資水平 from users;
  • decode函數的使用
    • decode (column_name,value1,result1,...,defaultvalue);
      • 例子:
                            select username,decode(username,‘aaa‘,‘電腦部門‘,‘bbb‘,‘市場部門‘,‘其他‘) as 部門 from users;

Oracle學習筆記(5)——查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.