二,用乙個sql語句完成不同條件的分組。
有如下資料
國家(country)
性別(***)
人口(population)中國1
340中國
2260美國1
45美國255
加拿大1
51加拿大249
英國140英國260
按照國家和性別進行分組,得出結果如下 國家男
女中國340260
美國45
55加拿大
5149
英國4060
普通情況下,用union也可以實現用一條語句進行查詢。但是那樣增加消耗(兩個select部分),而且sql語句會比較長。
下面是乙個是用case函式來完成這個功能的例子
select country,這樣我們使用select,完成對二維表的輸出形式,充分顯示了case函式的強大。sum( case
when *** = '1'
then
population else 0 end), --男性人口
sum( case
when *** = '2'
then
population else 0 end) --女性人口
from table_a
group
by country;
三,在check中使用case函式。
在check中使用case函式在很多情況下都是非常不錯的解決方法。可能有很多人根本就不用check,那麼我建議你在看過下面的例子之後也嘗試一下在sql中使用check。
下面我們來舉個例子
公司a,這個公司有個規定,女職員的工資必須高於1000塊。如果用check和case來表現的話,如下所示
constraint check_salary check如果單純使用check,如下所示( case
when *** = '2'
then
case
when salary > 1000
then 1 else 0 end
else 1 end = 1 )
constraint check_salary check女職員的條件倒是符合了,男職員就無法輸入了( *** = '2'
and salary > 1000 )
SQL中的CASE使用方法
case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方式,可以實現相同的...
SQL中的CASE使用方法
case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方式,可以實現相同的...
SQL中的CASE使用方法
case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方式,可以實現相同的...