SQL基礎日記3

2021-06-27 06:47:40 字數 1901 閱讀 1075

1. 謂詞:like、between(where 列名 between 值1 and 值2)、is null、is not null、in(取反:not in)、exists 

2. case表示式:case when 《判斷表示式》 then 《表示式》

when 《判斷表示式》 then 《表示式》

esle 《表示式》(可省略,預設是else null)

endselect sum(case when shohin_bunrui = '衣服'         then hanbai_tanka else 0 end) as sum_tanka_ihuku,

sum(case when shohin_bunrui = '廚房用具' then hanbai_tanka else 0 end) as sum_tanka_kitchen,

sum(case when shohin_bunrui = '辦公用品'     then hanbai_tanka else 0 end) as sum_tanka_jimu

from shohin;

oracle中的decode,mysql中的if與case功能相似。

-- oracle中使用decode代替case表示式

select  shohin_mei,

decode(shohin_bunrui, '衣服',         'a:' || shohin_bunrui,

'辦公用品',     'b:' || shohin_bunrui,

'廚房用具', 'c:' || shohin_bunrui,

null) as abc_shohin_bunrui

from shohin;

-- mysql中使用if代替case表示式

select  shohin_mei,

if( if( if(shohin_bunrui = '衣服',  concat('a:', shohin_bunrui), null)

is null and shohin_bunrui = '辦公用品', concat('b:', shohin_bunrui), 

if(shohin_bunrui = '衣服',  concat('a:', shohin_bunrui), null))

is null and shohin_bunrui = '廚房用具', concat('c:', shohin_bunrui), 

if( if(shohin_bunrui = '衣服',  concat('a:', shohin_bunrui), null)

is null and shohin_bunrui = '辦公用品', concat('b:', shohin_bunrui), 

if(shohin_bunrui = '衣服',  concat('a:', shohin_bunrui), null))) as abc_shohin_bunrui

from shohin;

3. 簡單case表示式:case 《表示式》

when 《表示式》 then 《表示式》

when 《表示式》 then 《表示式》

else  when 《表示式》 then 《表示式》

《表示式》

select shohin_mei,

case when shohin_bunrui = '衣服'         then 'a:' || shohin_bunrui

when shohin_bunrui = '辦公用品'     then 'b:' || shohin_bunrui

when shohin_bunrui = '廚房用具' then 'c:' || shohin_bunrui

else null

end as abc_shohin_bunrui

from shohin;

when 《表示式》 then 《表示式》

SQL基礎日記

1.union表示刪除重複行的合併,union all表示包含重複行的集合運算 2.intersect用法與union相反,union是取並集,intersect是取交集,選取表中的公共部分,語法與union相同 3.except記錄的減法,語法與union相同,但表達的是從表1中去除與表2交集的部...

SQL基礎3 子查詢

1 執行插入語句返回剛剛生成的自動編號 2 insert into tblclass output inserted.clsid values 大一一班 11 18 3 4 case函式用法 5 相當於switch 注意then後面的資料型別要一樣 6select from tblscore 7se...

學習日記 3

今天很早同學就來叫我去自修了,休息了這麼多天,是應該開始勤奮了。不過去到教學樓真的有點後悔,那裡在施工,嘈還不說,連電都停了,但既然去到也就在那裡自修了。開了窗,偶爾有點風,但那只是偶爾,更多的時間是一點風都沒有,悶熱 擦掉桌面和椅上的一層灰塵,就開始看書了。今天看了很多,也很累,現在就回憶一下 看...