一道sql面试题附答案
16lz
2022-01-18
有1张表,
Wages表
-------------------------------------------
Emp_id|基本工资|工龄工资|
-------------------------------------------
1|1.00|1.00|
-------------------------------------------
2|1.00|2.00|
-------------------------------------------
3|1.00|3.00|
-------------------------------------------
4|1.00|4.00|
-------------------------------------------
.........
请从上表用“一句组合查询”查询出工资统计表,要求检索出的内容格式如下:
-----------------------------------------------------------------
Emp_id|基本工资|工龄工资|合计|名次
------------------------------------------------------------------
1|1.00|1.00|2.00|x
------------------------------------------------------------------
2|1.00|2.00|3.00|y
------------------------------------------------------------------
3|1.00|3.00|4.00|..
------------------------------------------------------------------
4|1.00|4.00|5.00|..
------------------------------------------------------------------
回答:
复制代码 代码如下:
begintran
createtableWages(Emp_idbigintnotnullprimarykey,基本工资money,工龄工资money)
go
insertintoWages(Emp_id,基本工资,工龄工资)values(1,1.00,1.00)
insertintoWages(Emp_id,基本工资,工龄工资)values(2,1.00,2.00)
insertintoWages(Emp_id,基本工资,工龄工资)values(3,1.00,3.00)
insertintoWages(Emp_id,基本工资,工龄工资)values(4,1.00,4.00)
if@@error>0rollbackelsecommittran
selectEmp_id,基本工资,工龄工资,基本工资+工龄工资as合计,row_number()over(orderby基本工资+工龄工资)as名次fromWagesorderby合计
--droptableWages
Wages表
-------------------------------------------
Emp_id|基本工资|工龄工资|
-------------------------------------------
1|1.00|1.00|
-------------------------------------------
2|1.00|2.00|
-------------------------------------------
3|1.00|3.00|
-------------------------------------------
4|1.00|4.00|
-------------------------------------------
.........
请从上表用“一句组合查询”查询出工资统计表,要求检索出的内容格式如下:
-----------------------------------------------------------------
Emp_id|基本工资|工龄工资|合计|名次
------------------------------------------------------------------
1|1.00|1.00|2.00|x
------------------------------------------------------------------
2|1.00|2.00|3.00|y
------------------------------------------------------------------
3|1.00|3.00|4.00|..
------------------------------------------------------------------
4|1.00|4.00|5.00|..
------------------------------------------------------------------
回答:
复制代码 代码如下:
begintran
createtableWages(Emp_idbigintnotnullprimarykey,基本工资money,工龄工资money)
go
insertintoWages(Emp_id,基本工资,工龄工资)values(1,1.00,1.00)
insertintoWages(Emp_id,基本工资,工龄工资)values(2,1.00,2.00)
insertintoWages(Emp_id,基本工资,工龄工资)values(3,1.00,3.00)
insertintoWages(Emp_id,基本工资,工龄工资)values(4,1.00,4.00)
if@@error>0rollbackelsecommittran
selectEmp_id,基本工资,工龄工资,基本工资+工龄工资as合计,row_number()over(orderby基本工资+工龄工资)as名次fromWagesorderby合计
--droptableWages
更多相关文章
- Android最全面试题库(转)
- android 面试题集
- Android,机器狗应用
- 我今天的面试题,注册广播有几种方式,这些方式有何优缺点?请谈谈Andr
- Android面试题集锦 (陆续更新)
- 史无前例!全网最全的Android面试题集锦(贼干货!)
- android面试题总结—摘自csdn
- android面试题大全 android面试题总结
- Android异步消息处理机制(源码分析+面试题)