SQL學習筆記9 流程控制 許可權操作

2021-08-16 15:59:05 字數 2400 閱讀 1131

case語句一般有兩種用法

第一種用法

case expression

when value1 then returnvalue1

when value2 then returnvalue2

when value3 then returnvalue3

else defaultvalue

end

case ***

when

'1'then

'男'when

'2'then

'女'else

'其他'

end

第二種用法

case

when condition1 then returnvalue1

when condition2 then returnvalue2

when condition3 then returnvalue3

else defaultvalue

end

case 

when *** = '1'

then

'男'when *** = '2'

then

'女'else

'其他'

end

例項

我們用case方法來判斷工資的等級,並統計每一等級的人數。sql**如下;

select

case

when salary <= 500

then

'1'when salary > 500

and salary <= 600

then

'2'when salary > 600

and salary <= 800

then

'3'when salary > 800

and salary <= 1000

then

'4'else

null

end salary_class,

count(*)

from table_a

group

bycase

when salary <= 500

then

'1'when salary > 500

and salary <= 600

then

'2'when salary > 600

and salary <= 800

then

'3'when salary > 800

and salary <= 1000

then

'4'else

null

end;

公司a,這個公司有個規定,女職員的工資必須高於1000塊。如果用check和case來表現的話,如下所示

constraint check_salary check

( case

when *** = '2'

then

case

when salary > 1000

then

1else

0end

else

1end = 1 )

grant

賦予乙個使用者,乙個組或所有使用者對資料庫的操作許可權

grant

《許可權》 on 表名[(列名)] to 使用者 with

grant

option

或 grant

《許可權》 on

《資料物件》 from

《資料庫使用者》

deny

在安全系統中建立一項,以拒絕給當前資料庫內的安全帳戶授予許可權並防止安全帳戶通過其組或角色成員資格繼承許可權

deny 《許可權》 on 《資料物件》 to 《資料庫使用者》
revoke

收回以前在當前資料庫內的使用者上授予或拒絕的許可權

revoke 《許可權》 on 《資料物件》 from 《資料庫使用者》
deny和revoke的區別:廢除類似於拒絕,但是,廢除許可權是刪除已授予的許可權,並不妨礙使用者、組或角色從更高階別繼承已授予的許可權。因此,如果廢除使用者檢視表的許可權,不一定能防止使用者檢視該錶,因為已將檢視該錶的許可權授予了使用者所屬的角色

參考資料:

Shell學習筆記 流程控制

分支兩種 if 和 case 迴圈三種 for until while.1.if if then elif then else fi 沒啥說的和c的差不多.就是別忘了 then.2.case case var in a b c esac 和switch的意思差不多,這個多了 表示或的關係,感覺更靈活...

Lua 流程控制(學習筆記)

lua 程式語言流程控制語句通過程式設定乙個或多個條件語句來設定。在條件為 true 時執行指定程式 在條件為 false 時執行其他指定 要注意的是lua中 0 為 true 0 為 true if 0 then print 0 為 true end以上 輸出結果為 0 為 trueif 布林表示...

C 學習筆記 流程控制

程式流程就是c 的執行順序。兩種方法分別是分支和迴圈。這兩種方法都用到了布林邏輯。布林比較運算子 a b c a b c a ba b c a b c a b c 其中a是布林型別。處理布林值的布林運算 a b a b c a b c a b c 邏輯非邏輯與 邏輯或邏輯異或 其中a,b,c都是布林...