一道sql面试题附答案
2008-05-10 00:00
686 查看
有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 | ..
------------------------------------------------------------------
回答:
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 | ..
------------------------------------------------------------------
回答:
begin tran create table Wages(Emp_id bigint not null primary key,基本工资 money, 工龄工资 money) go insert into Wages(Emp_id,基本工资,工龄工资)values(1,1.00,1.00) insert into Wages(Emp_id,基本工资,工龄工资)values(2,1.00,2.00) insert into Wages(Emp_id,基本工资,工龄工资)values(3,1.00,3.00) insert into Wages(Emp_id,基本工资,工龄工资)values(4,1.00,4.00) if @@error>0 rollback else commit tran select Emp_id,基本工资,工龄工资,基本工资+工龄工资 as 合计,row_number() over(order by 基本工资+工龄工资) as 名次 from Wages order by 合计 --drop table Wages
相关文章推荐
- 一道经典SQL面试题及答案
- 一道sql面试题附答案
- 一道面试题引发的数据库SQL语句实践(含行列转换)
- 一道sql面试题(查询语句)
- 一道经典的sql面试题不同的写法
- 一道sql面试题
- 一道Oracle SQL面试题及解答
- 关于《程序员面试宝典》中一道面试题的答案
- SQL经典面试题及答案2
- 一道sql面试题:translate()函数的应用
- 一道SQL面试题
- 一道sql 的面试题
- SQL 面试题及答案(一)
- 一道SQL语句面试题,关于group by
- 一道SQL面试题(行列互换)
- 一道与时间差有关的SQL面试题
- [引用]SQL经典面试题及答案
- 一道SQL的面试题之联想
- 一道淘汰85%面试者的百度开发者面试题-我就是想知道正确的答案.
- SQL经典面试题及答案1