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