当前位置:编程学习 > C#/ASP.NET >>

面试的sql题目

4员工表emp (empno-员工号, empname-姓名, age-年龄, deptno-部门,sex-性别, salary-薪水, indate-入职日期);
部门表 dept(deptno-部门号,deptname-部门名称)
写下列sql语句:
(1)各部门不同性别的平均薪水
(2)给入职超过3年的员工加薪20%
(3)查询姓名相同的员工信息
 (4) 各个部门06年入职的人数 --------------------编程问答-------------------- --1.各部门不同性别的平均薪水
select 部门=deptname,男薪=avg(case when sex='男' then salary else 0 end),
  女薪=avg(case when sex='女' then salary else 0 end) from emp join dept on emp.deptno
  =dept.deptno group by deptname --------------------编程问答--------------------
--给入职超过3年的员工加薪20%
  update emp set salary=salary+salary*0.2 where datediff(yy,indate,getdate())>=3
--------------------编程问答--------------------
--查询姓名相同的员工信息
select * from emp where empno in
(select empno from emp group by empno having count(empno)>1)
--------------------编程问答--------------------
引用 3 楼 jiangshun 的回复:
SQL code--查询姓名相同的员工信息select*from empwhere empnoin
(select empnofrom empgroupby empnohavingcount(empno)>1)


是empname吧 --------------------编程问答--------------------
引用 4 楼 dream_hunter_ 的回复:
引用 3 楼 jiangshun 的回复:
SQL code--查询姓名相同的员工信息select*from empwhere empnoin
(select empnofrom empgroupby empnohavingcount(empno)>1)


是empname吧


对对,写错了

哈哈,终于来个人回复了

第四个问题

--4,各个部门06年入职的人数
select 部门名称=deptname,人数=count(1) from emp a join dept b
on a.deptno=b.deptno where datename(yy,indate)='2006'
group by deptname
--------------------编程问答-------------------- 4楼做好事了,呵呵 --------------------编程问答--------------------
引用 6 楼 lcl_data 的回复:
4楼做好事了,呵呵



--------------------编程问答-------------------- select avg(salary) avg_s , detpno,sex from emp group by deptno,sex
update emp set salary=salary*1.2 where datediff(yy,indate,getdate()) >3
select distinct a.* from emp a inner join emp b on a.empname=b.empname and a.empno<>b.empno
select deptno,count(*) from emp where datename(yy,indate) ='2006' group by deptno --------------------编程问答-------------------- select 部门=deptname,男薪=sum(case when sex='男' then salary else 0 end)/sum(case when sex='男' then 1 else 0 end),
  女薪=sum(case when sex='女' then salary else 0 end)/sum(case when sex='女' then 1 else 0 end) from emp join dept on emp.deptno
  =dept.deptno group by deptname
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,