面试习题是收录本Q群朋友面试后反馈的内容,现整理后把试题分享出来给大家,附上参考语句,请大家一起讨论研究。

创建测试数据
USERS表:
CREATE TABLE USERS([ID] [int] NOT NULL,[USERNAME] [nvarchar](50) NULL,[SEX] [nchar](10) NULL,[DEPT_ID] [int] NULL);insert into USERS values('1' , '用户1' ,'男',1);insert into USERS values('2' , '用户2' ,'男',1);insert into USERS values('3' , '用户3' ,'女',2);insert into USERS values('4' , '用户4' ,'男',2);insert into USERS values('5' , '用户5' ,'男',3);insert into USERS values('6' , '用户6' ,'女',5);insert into USERS values('7' , '用户7' ,'女',4);insert into USERS values('8' , '用户8' ,'女',4);insert into USERS values('9' , '用户9' ,'男',3);insert into USERS values('10' , '用户10' ,'男',3);
DEPT表
CREATE TABLE DEPT ([ID] [int] NOT NULL,[DEPTNAME] [nvarchar](50) NULL) ;insert into DEPT values(1,'档案室');insert into DEPT values(2,'综合部');insert into DEPT values(3,'总经办');insert into DEPT values(4,'总裁办');insert into DEPT values(5,'财务部');

--1、查询出全部用户并显示其所在部门名称
参考语句:
selectu.*,d.deptname 部门名称from users u,dept dwhere u.dept_id=d.id

--2、将用户部门名称为“档案室”的性别为“女”员工调入“综合部”(语句中不允许用ID赋值);
参考语句:
update USERS set DEPT_ID=(select d.ID from DEPT d where d.DEPTNAME='综合部')where sex='女' and DEPT_ID=(select d1.ID from DEPT d1 where d1.DEPTNAME='档案室')

--3、查询出全部部门人员超过1人的部门并显示该部门人数
参考语句:
select case DEPT_IDwhen '1' then '档案室'when '2' then '综合部'when '3' then '总经办'when '4' then '总裁办'when '5' then '财务部'else '其他'end as 部门名称,count(*) 人数 from USERS group by DEPT_ID having count(*)>1

--4、统计各部门男员工和女员工人数
参考语句:
select case DEPT_IDwhen '1' then '档案室'when '2' then '综合部'when '3' then '总经办'when '4' then '总裁办'when '5' then '财务部'else '其他'end as 部门名称,count(case sex when '男' then 1 end) 男,count(case sex when '女' then 1 end) 女 from USERS group by DEPT_ID
如果觉得对您有一丢丢帮助,请点击右下角【在看】,让更多人看到该文章。



长按识别二维码
关注获取视频资料
本文分享自微信公众号 - SQL数据库入门学习,如有侵权,请联系 service001@enmotech.com 删除。
文章转载自SQL数据库入门学习,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




