<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
CASE 表示式是從 SQL-92 標準開始被引入的。
在 CASE 表示式裡,可以使用 BETWEEN 、LIKE和 < 、> 等便利的謂詞組合,以及能巢狀子查詢的 IN 和 EXISTS 謂詞。
CASE 表示式有 簡單 CASE 表示式(simple case expression) 和 搜尋 CASE 表示式(searched case expression) 兩種寫法:
-- 簡單CASE 表示式 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他'END -- 搜尋CASE 表示式 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END
sex
列(欄位)如果是 '1' ,那麼結果為男;如果是 '2' ,那麼結果為女。
CASE在匹配給定條件時,發現為真的 WHEN 子句時,CASE 表示式的真假值判斷就會中止,而剩餘的 WHEN 子句會被忽略。為了避免引起不必要的混亂,使用 WHEN 子句時要注意條件的排他性。
-- 例如,這樣寫的話,結果裡不會出現「第二」 CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END
SELECT CASE pref_name WHEN '德島' THEN '四國' WHEN '香川' THEN '四國' WHEN '愛媛' THEN '四國' WHEN '高知' THEN '四國' WHEN '福岡' THEN '九州' WHEN '佐賀' THEN '九州' WHEN '長崎' THEN '九州' END AS district, SUM(population) AS total FROM poptbl GROUP BY CASE pref_name WHEN '德島' THEN '四國' WHEN '香川' THEN '四國' WHEN '愛媛' THEN '四國' WHEN '高知' THEN '四國' WHEN '福岡' THEN '九州' WHEN '佐賀' THEN '九州' WHEN '長崎' THEN '九州' END;
SELECT pref_name AS '縣名', SUM( CASE WHEN sex=1 THEN population ELSE 0 END ) AS '男' SUM( CASE WHEN sex=2 THEN population ELSE 0 END ) AS '女' FROM poptlb GROUP By pref_name
假設某公司規定“女性員工的工資必須在 20 萬日元以下”,而在這個公司的人事表中,這條無理的規定是使用 CHECK 約束來描述的,程式碼如下所示:
CONSTRAINT check_salary CHECK ( CASE WHEN sex = '2' THEN CASE WHEN salary <= 200000 THEN 1 ELSE 0 END ELSE 1 END = 1 )
條件:
UPDATE Salaries SET salary = CASE WHEN salary>300000 THEN salary*0.9 WHEN salary>=250000 AND salary <280000 THEN salary * 1.2 ELSE salary END;
--- 使用IN謂詞 SELECT course_name AS '課程名', CASE WHEN courese_id IN (SELECT course_id FROM open_course WHERE mouth = '200706') THEN 'o' ELSE 'x' END AS '6 月' CASE WHEN courese_id IN (SELECT course_id FROM open_course WHERE mouth = '200707') THEN 'o' ELSE 'x' END AS '7 月' CASE WHEN courese_id IN (SELECT course_id FROM open_course WHERE mouth = '200708') THEN 'o' ELSE 'x' END AS '8 月' FROM course_master; --- 或者使用EXIST謂詞 SELECT CM.course_name, CASE WHEN EXISTS (SELECT course_id FROM OpenCourses OC WHERE month = 200706 AND OC.course_id = CM.course_id) THEN '○' ELSE '×' END AS "6 月", CASE WHEN EXISTS (SELECT course_id FROM OpenCourses OC WHERE month = 200707 AND OC.course_id = CM.course_id) THEN '○' ELSE '×' END AS "7 月", CASE WHEN EXISTS (SELECT course_id FROM OpenCourses OC WHERE month = 200708 AND OC.course_id = CM.course_id) THEN '○' ELSE '×' END AS "8 月" FROM CourseMaster CM;
對於加入了多個社團的學生,通過將其“主社團標誌”列設定為 Y 或者 N 來表明哪一個社團是他的主社團;對於只加入了一個社團的學生,將其“主社團標誌”列設定為 N。
現需要查詢出所有學生加入的社團,若加入了多個則顯示主社團
SELECT std_id, CASE WHEN COUNT(*)==1 THEN MAX(club_id) ELSE MAX(CASE WHEN main_club_flg = 'Y' THEN club_id ELSE NULL END) END AS 'main_club' FROM student_club GROUP BY std_id
按照mark列排序,要求修正a b c d 的權重為 c b a d
SELECT mark FROM sort_test ORDER BY CASE mark WHEN 'a' THEN -1 WHEN 'b' THEN 1 WHEN 'c' THEN 2 WHEN 'd' THEN -2 END
到此這篇關於 SQL 中 CASE 表示式的使用方式的文章就介紹到這了,更多相關 SQL CASE 表示式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45