題目描述
查詢各個部門當前(to_date='9999-01-01')領導當前薪水詳情以及其對應部門編號dept_no
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`));
輸入描述:
無
輸出描述:
emp_no
salary
from_date
to_date
dept_no
10002
72527
2001-08-02
9999-01-01
d001
10004
74057
2001-11-27
9999-01-01
d004
10005
94692
2001-09-09
9999-01-01
d003
10006
43311
2001-08-02
9999-01-01
d002
10010
94409
2001-11-23
9999-01-01
d006
思路:注意看題目所給出的輸出資料的順序:emp_no salary from_date to_date dept_no
查詢時也要按照這個順序來查;再有就是注意表salaries的員工編號emp_no應該與表dept_manager中的員工編號emp_no相同;
最後乙個細節,開始時間from_date應該是這個人的當前薪水的開始時間,而表dept_manager中的是這個人來到這個部門的開始時間,所以應該選salaries中的from_date 。
四種方法:
/*select
e.last_name,
e.first_name,
d.dept_no
from
employees e,
dept_emp d
where
e.emp_no = d.emp_no;*/
/*select
e.last_name,
e.first_name,
d.dept_no
from
employees e
natural join dept_emp d;*/
/*select
e.last_name,
e.first_name,
d.dept_no
from
employees e
inner join dept_emp d on e.emp_no = d.emp_no;*/
select
e.last_name,
e.first_name,
d.dept_no
from
dept_emp d
natural left join employees e;
查詢當前薪水詳情以及部門編號dept no
查詢各個部門當前 to date 9999 01 01 領導當前薪水詳情以及其對應部門編號dept no create table dept manager dept no char 4 not null,emp no int 11 not null,from date date not null,...
查詢當前薪水詳情以及部門編號dept no
查詢各個部門當前 to date 9999 01 01 領導當前薪水詳情以及其對應部門編號dept no create table dept manager dept no char 4 not null,emp no int 11 not null,from date date not null,...
查詢當前薪水詳情以及部門編號dept no
題目內容 查詢當前薪水詳情以及部門編號dept no 結果 不通過 select salaries.dept manager.dept no from dept manager inner join salaries on salaries.emp no dept manager.emp no wh...