Mysql case then when的用法例項

2021-10-22 01:18:23 字數 2506 閱讀 2955

獲取有獎金的員工相關資訊。

create

table

`employees`

(`emp_no`

int(11)

notnull

,`birth_date`

date

notnull

,`first_name`

varchar(14

)not

null

,`last_name`

varchar(16

)not

null

,`gender`

char(1

)not

null

,`hire_date`

date

notnull

,primary

key(

`emp_no`))

;

create

table

`employees`

(`emp_no`

int(11)

notnull

,`birth_date`

date

notnull

,`first_name`

varchar(14

)not

null

,`last_name`

varchar(16

)not

null

,`gender`

char(1

)not

null

,`hire_date`

date

notnull

,primary

key(

`emp_no`))

;

create

table

`dept_emp`

(`emp_no`

int(11)

notnull

,`dept_no`

char(4

)not

null

,`from_date`

date

notnull

,`to_date`

date

notnull

,primary

key(

`emp_no`

,`dept_no`))

;

create

table emp_bonus(

emp_no int

notnull

,received datetime

notnull

,btype smallint

notnull

);

create

table

`salaries`

(`emp_no`

int(11)

notnull

,`salary`

int(11)

notnull

,`from_date`

date

notnull

,`to_date`

date

notnull

,primary

key(

`emp_no`

,`from_date`))

;

根據以上四個表,給出emp_no、first_name、last_name、獎金型別btype、對應的當前薪水情況salary以及獎金金額bonus。 bonus型別btype為1其獎金為薪水salary的10%,btype為2其獎金為薪水的20%,其他型別均為薪水的30%。 當前薪水表示to_date=『9999-01-01』

輸出格式如下:

根據以上題目要求,分析得出本題主要考察case then when知識點,其他連線內容相對簡單,**如下:

select e.emp_no,e.first_name,e.last_name,b.btype,s.salary,

(case b.btype

when

1then s.salary*

0.1when

2then s.salary*

0.2when

3then s.salary*

0.3end

) bonus

from employees e join emp_bonus b on e.emp_no=b.emp_no

join salaries s on e.emp_no=s.emp_no

where s.to_date=

'9999-01-01'

group

by e.emp_no;

以上只是一種簡單思路,僅供參考。

TableCellRenderer用法實踐(一)

swing元件根據其所操作的資料型別分為兩種,一種是標量資料型別的元件,一類是復合資料型別的元件。標量資料型別的元件操作的是基本型別的資料,如字串 布林 數字等,此型別元件包括jtextfield jcheckbox jlabel jbutton等。復合資料型別的元件操作的是諸如向量 矩陣和非線形等...

AfxBeginThread 函式的用法例項講解

afxbeginthread 使用者介面執行緒和工作者執行緒都是由afxbeginthread建立的。現在,考察該函式 mfc提供了兩個過載版的afxbeginthread,乙個用於使用者介面執行緒,另乙個用於工作者執行緒,分別有如下的原型和過程 使用者介面執行緒的afxbeginthread 工作...

python中enumerate的用法例項解析

enumerate引數為可遍歷的變數,如 字串,列表等 返回值為ewww.cppcns.comnumerate類。示例 如下所示 import string s string.ascii lowercase e enumerate s print s print list e 輸出為 abcdefg...