牛客:数据库实战—2—查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no
2018-11-04 19:30
489 查看
[code]CREATE TABLE `dept_manager` ( `dept_no` char(4) NOT NULL, `emp_no` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`)); CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`));
[code]SELECT s.emp_no,s.salary,s.from_date,s.to_date,dm.dept_no FROM salaries s,dept_manager dm WHERE s.to_date='9999-01-01' AND dm.to_date='9999-01-01' AND dm.emp_no = s.emp_no;
做这个题目真是折腾,salaries是主表,dept_manager 是从表,
问题是在于dep_manager为主表的时候,会出现对应的salaries相应的列有null的情况。
因此From后面跟上顺序不能错。
阅读更多相关文章推荐
- 查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no
- 查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no
- 查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号
- 【数据库SQL实践】查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no
- 【数据库SQL实战】查找当前薪水详情以及部门编号dept_no
- 《数据库SQL实战》获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
- 《数据库SQL实战》查找当前薪水详情以及部门编号dept_no
- 【数据库SQL实战】查找所有员工的last_name和first_name(以及对应部门编号dept_no)
- 【数据库SQL实战】查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
- 《数据库SQL实战》查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
- 查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
- 获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary
- 查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
- 找出所有员工当前(to_date='9999-01-01')具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示
- 查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
- Having查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
- 《数据库SQL实战》查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
- 【数据库SQL实战】获取所有部门当前manager的当前薪水情况
- 查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
- 获取当前薪水第二多的员工的emp_no以及薪资(不使用order by)