1. 程式人生 > >oracle sql case語句簡單使用

oracle sql case語句簡單使用

CASE 表示式

CASE  expr

      WHEN comparison_expr1 THEN return_expr1        

      WHEN comparison_expr2 THEN return_expr2         

      WHEN comparison_exprn THEN return_exprn         

  ELSE else_expr

END

用中文來說,case 、when 、else,

如果 條件1成立 ,那麼執行條件1,條件都不符合則執行else ,例如例,如果job_id='IT_PROG',那麼將薪資*1.10

例:

SELECT last_name, job_id, salary,

       CASE job_id

                  WHEN 'IT_PROG'  THEN  1.10*salary

                   WHEN 'ST_CLERK' THEN  1.15*salary

                   WHEN 'SA_REP'   THEN  1.20*salary

       ELSE      salary

END    

"REVISED_SALARY"

FROM   hr.employees;      

//從emp表中返回 列名"REVISED_SALARY",如果JOB_ID='ST_CLERK',則返回的值=1.15*salary,如果JOB_ID='SA_REP' ,則返回的值=1.20*salary,否則直接返回salary的值

[email protected]> SELECT last_name, job_id, salary,

  2         CASE job_id

  3                    WHEN 'IT_PROG'  THEN  1.10*salary

  4                     WHEN 'ST_CLERK' THEN  1.15*salary

  5                     WHEN 'SA_REP'   THEN  1.20*salary

  6         ELSE      salary

  7  END    

  8  "REVISED_SALARY"

  9  FROM   hr.employees;

LAST_NAME                 JOB_ID         SALARY REVISED_SALARY

------------------------- ---------- ---------- --------------

OConnell                  SH_CLERK         2600           2600

Grant                     SH_CLERK         2600           2600

Whalen                    AD_ASST          4400           4400

Hartstein                 MK_MAN          13000          13000

Fay                       MK_REP           6000           6000

Mavris                    HR_REP           6500           6500

Baer                      PR_REP          10000          10000

Higgins                   AC_MGR          12008          12008

Gietz                     AC_ACCOUNT       8300           8300

King                      AD_PRES         24000          24000

Kochhar                   AD_VP           17000          17000

De Haan                   AD_VP           17000          17000

Hunold                    IT_PROG          9000           9900

Ernst                     IT_PROG          6000           6600

Kaufling                  ST_MAN           7900           7900

Vollman                   ST_MAN           6500           6500

Mourgos                   ST_MAN           5800           5800

Landry                    ST_CLERK         2400           2760

Markle                    ST_CLERK         2200           2530

Bissot                    ST_CLERK         3300           3795

Atkinson                  ST_CLERK         2800           3220

Tucker                    SA_REP          10000          12000

Bernstein                 SA_REP           9500          11400

Hall                      SA_REP           9000          10800

Olsen                     SA_REP           8000           9600

相關推薦

oracle sql case語句簡單使用

CASE 表示式 CASE  expr       WHEN comparison_expr1 THEN return_expr1               WHEN comparison_expr2 THEN return_expr2                W

oracle sql 遊標的簡單用法(tip:sql中兩個單引號表示一個單引號)

--遊標遍歷某個欄位 (打印出來) declare            res_sql varchar2(2000); cursor cur is            select f_

OracleCase語句

Oracle的CASE表示式 現在Oracle支援兩種CASE表示方式,一種Oracle稱為simple CASE(簡單形式),另外一種為searched CASE(查詢形式)。simple CASE相當於使用函式Decode,但是Case一般用於操作更為複雜的語句。CASE

ORACLESQL語句簡單應用(四)(11g)

union times truncate sql語句 默認值 位數 lib rownum dual 排序 後加 nulls last 在降序排列中把null放在最後 select to_char(sysdate,‘q‘) from dual; dual

ORACLESQL語句簡單應用(五)(11g)

應用 11g sql cal foreign ora 每次 int pri not null 非空 字段+not null unique 唯一 primary key 主鍵(確保數據不能重復) foreign key 外鍵 check 必須

簡單oracle sql語句練習

簡單的oracle sql語句練習 求每個部門的平均薪水 select deptno,avg(sal) from emp group by deptno 每個部門同一個職位的最大工資 select deptno,job,max(sal) from emp group by deptno,job 按照

ORACLE sql 執行順序、Case When 、檢視執行的sql語句

標準的 SQL 的解析順序為:    (1) FROM 子句, 組裝來自不同資料來源的資料    (2) WHERE 子句, 基於指定的條件對記錄進行篩選    (3) GROUP BY 子句, 將資料劃分為多

Oracle sql語句中不支援boolean型別(decode&case

Oracle sql語句中不支援boolean型別(decode&case)版本資訊:SQL> select * from v$version;BANNER-----------------------------------------------------

關於oracle sql語句查詢時 表名和字段名要加雙引號的問題具體解釋

ont tin rac 作者 什麽 因此 tro 們的 reg 作為oracle的剛開始學習的人相信大家一定會遇到這個問題。如圖: 明明就是navicat可視化創建了表,但是就是不能查到!這個

【筆記】Oracle SQL語句 | 基礎篇

when 自然 本地數據庫 指向 ise abort ted names pda 整理了一下Oracle SQL的基本語句,主要針對Oracle的使用者(Oracle數據庫維護和管理員的常用語句之後整理),可作為一個大綱參考,對某些語句或函數並未深入的詳解,只是簡單列出,留

sqlcase語句

在SQL的世界中CASE語句相當於if -----else  語句。 Case具有兩種格式。簡單Case函式和Case搜尋函式。 --簡單Case函式 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜尋函式 CA

oracle sql小結(主要講橫列轉換的例子)decode 以及case

--建表 create table kecheng( id NUMBER, name VARCHAR2(20), course VARCHAR2(20), score NUMBER); --插入資料insert into kecheng (id, name, course, score)values (1

Oracle教程(1)-Oracle簡介與最簡單語句

Oracle11g資料庫的安裝swap建議要求不小於1G,也就是實體記憶體不小於2G 一,最簡單的查詢語句 【*】代表所有的列,它與select之後列出的所有的列名是一樣的 如果不用*,select後面加特定列,就可以查詢出特定列的資料 slect後面加多個特定名

oracle sql語句建立表空間、使用者、並給使用者賦予許可權

--建立表空間、大小100m,自增長50m ,最大為 2G;位置: 'h:\app\a.dbf' create tablespace 表空間名 datafile 'h:\app\a.dbf' size 100m autoextend on next 50m maxsize 20480m ext

SQLCASE表示式總結之二:利用CASE語句來更新欄位的值

可以在UPDATE語句中使用CASE表示式來方便的更新欄位的值 例項:有如下工資表: 要求: (1)對目前工資為30000元以上的員工,降薪10% (2)對目前工資為25000元以上且不滿28000元的員工,加薪20% (3)上述條件以外的情形的員工,保持不變 [分析]:按照常規思路,直接對資

Oracle sql語句中(+)作用,就是匹配表

轉:https://www.cnblogs.com/ahudyan-forever/p/5703982.html Oracle sql語句中(+)作用 select * from operator_info o, group_info g  where o.group_id = g

Oracle OCP 官方PPT學習日誌 使用 SQL SELECT 語句檢索資料 01

連線運算子,|| 注:也可以將日期表示式連線到其他表示式或列。 文字字串 SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees; &nbs

Oracle OCP 官方PPT學習日誌 使用 SQL SELECT 語句檢索數據 01

bubuko 示例 檢索 size 方括號 ora clas sel 但是 連接運算符,|| 註:也可以將日期表達式連接到其他表達式或列。 文字字符串 SELECT last_name ||‘ is a ‘||job_id AS "Employ

用 Python 實現簡單的 switch/case 語句

在Python中是沒有Switch / Case語句的,很多人認為這種語句不夠優雅靈活,在Python中用字典來處理多條件匹配問題字典會更簡單高效,對於有一定經驗的Python玩家不得不承認,的確如此。 但今天我們還是來看看如果一定要用Python來Switch /

Hive 不支援 where 子句中的子查詢, SQL 常用的 exist in 子句需要改寫。這一改寫相對簡單。考慮以下 SQL 查詢語句

歡迎使用Markdown編輯器 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。 新的改變 我們對Markdown編輯器進行了一些功能