#数据库SQL实战#【Day1】

--------------------------------------------------
学习用,欢迎讨论。
--------------------------------------------------
查看详细题目的方法:
复制以下题目内容;
Ctrl+F查找刚刚复制的题目即可。
--------------------------------------------------
题目1:查找最晚入职员工的所有信息
select * from employees order by hire_date desc limit 0,1
字面意思按照hire_date进行降序排列,用limit选择第一个员工。
但是表中的入职时间精确到日期,可能存在很多同一天入职的员工,那么“最晚入职”就没有一个准确的定义,所以有如下语句:
select * from employees where hire_date = (select max(hire_date) from employees)
我认为第一个语句符合题意,第二个语句符合表中字段的特点。两个都能通过测试
--------------------------------------------------
题目2:查找入职员工时间排名倒数第三的员工所有信息
select * from employees order by hire_date desc limit 2,1
同题目1,这是符合字面意思的写法
看到很多人提到如下语句
select * from employees where hire_date = (select hire_date from employees order by hire_date desc limit 2,1)
选出了和按照hire_date降序排列排在第三的员工同一天入职的所有员工。
--------------------------------------------------
题目3:查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no
select s.emp_no, s.salary, s.from_date, s.to_date, dm.dept_no
from salaries as s inner join dept_manager as dm
on s.emp_no = dm.emp_no
where s.to_date='9999-01-01'
and dm.to_date='9999-01-01'
本题按照题意选择的主表是salaries,如果按照如下语句,主表选择dept_manager将会提示不通过【为什么呢?】
select dm.emp_no, s.salary, s.from_date, dm.to_date, dm.dept_no
from dept_manager as dm inner join salaries as s
on dm.emp_no = s.emp_no
where dm.to_date='9999-01-01'
and s.to_date='9999-01-01' 
【!】主意:salaries的from_date是当前薪水的开始时间,而dept_manager的from_date是当上部门经理的开始时间,所以两个表的from_date是不一样的。当上部门经理之后,可能还会有很多次的加薪机会。
--------------------------------------------------
题目4:查找所有已经分配部门的员工的last_name和first_name
select e.last_name, e.first_name, de.dept_no
from employees as e inner join dept_emp as de
on e.emp_no = de.emp_no
两个表选择任何一个做主表都能通过测试。
--------------------------------------------------
全部评论
手动赞
点赞 回复 分享
发布于 2018-09-20 15:18

相关推荐

来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞 评论 收藏
分享
评论
2
18
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务