查找当前薪水详情以及部门编号
题目描述
查找各个部门当前(dept_manager.to_date=’9999-01-01’)领导当前(salaries.to_date=’9999-01-01’)薪水详情以及其对应部门编号dept_no
(注:请以salaries表为主表进行查询,输出结果以salaries.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));
CREATE TABLE dept_manager (dept_no char(4) NOT NULL, – ‘部门编号’emp_no int(11) NOT NULL, – ‘员工编号’to_date date NOT NULL,
PRIMARY KEY (emp_no,dept_no));
解题思路
这个题是中等的题目,较为简单。但是这一题的描述不是太好,这个题的意思就是查找员工的薪水,首先这个员工是个经理s.emp_no=d.emp_no,然后这个经理的salaries.to_date=’9999-01-01’以及dept_manager.to_date=’9999-01-01’。就这三个条件。
主要考察两个表的连接。我们使用where进行连接两表
答案解析
1 | select s.emp_no,s.salary,s.from_date,s.to_date,d.dept_no |
