標籤:taf == distinct ext 更改 order by orm rom tab
- 基本查詢語句
- 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;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
- 設定顯示結果的格式: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;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
- 清除之前設定過的格式:COLUMN column_name CLEAR;
col username clear; col salary clear;
- 查詢表中的全部欄位及指定欄位
- 查詢全部欄位:SELECT * FROM table_name;
- 查詢指定欄位:SELECT column1_name,column2_name... FROM table_name;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
- 給欄位設定別名(*給欄位設定別名是針對查詢結果進行的,並沒有更改欄位的名字)
- 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)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
- 模糊查詢 LIKE
- 萬用字元的使用( _ 、%)
- 一個 _ 僅僅能代表一個字元
- %能夠代表0到多個隨意字元
- 使用LIKE查詢
- 範圍查詢
- 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;
- 範例:依據不同的username來得到他所在的部門
select username,case username when ‘aaa‘ then ‘電腦部門‘ when ‘bbb‘ then ‘市場部門‘ else ‘其它部門‘ end as 部門 from users;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
- 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;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
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)——查詢