獲取所有員工的當前的manager

2021-12-30 11:11:29 字數 1115 閱讀 9997

獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to_date=』9999-01-01』。

結果第一列給出當前員工的emp_no,第二列給出其manager對應的manager_no。

create table `dept_emp` (

`emp_no` int(11) not null,

`dept_no` char(4) not null,

`from_date` date not null,

`to_date` date not null,

primary key (`emp_no`,`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`));

emp_no

manager_no

10001

10002

10003

10004

10009

10010

首先我們知道這個題目的意思是想讓我們用兩表關聯來完成,由於又說了如果manager是自身的manager則不計入進去,所以只需要將兩表內關聯或使用where語句加條件即可,注意這裡使用where語句時,由於sql中where語句的載入順序(越往後寫的條件越精確是一種簡單優化sql的方式),所以這裡我使用的是where語句來完成的。

select emp.emp_no,manager.emp_no as manager_no

from dept_emp as emp,dept_manager as manager

where

emp.emp_no != manager.emp_no

and emp.dept_no = manager.dept_no

and emp.to_date='9999-01-01'

and manager.to_date='9999-01-01'

獲取所有員工當前的manager

獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to date 9999 01 01 結果第一列給出當前員工的emp no,第二列給出其manager對應的manager no。create table dept emp emp no int 11 not n...

獲取所有員工當前的manager

獲取所有部門當前manager的當前薪水情況,給出dept no,emp no以及salary,當前表示to date 9999 01 01 create table dept manager dept no char 4 not null,emp no int 11 not null,from d...

獲取所有員工當前的manager

獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to date 9999 01 01 結果第一列給出當前員工的emp no,第二列給出其manager對應的manager no。create table dept emp emp no int 11 not n...