3. select w.LAST_NAME,m.LAST_NAME

1. from EMPLOYEES w join EMPLOYEES m 

2. on w.MANAGER_ID=m.EMPLOYEE_ID


現在有一張資料表EMPLOYEES,裡面按人名欄目排列,每個人名後面都有相應的自己的員工ID(EMPLOYEE_ID),跟自己主管的ID(Manager_id)

但其實自己主管的ID,也就是屬於主管的員工ID

例如Mike的員工ID是200,他的主管的ID是100,而他的主管是Mia,那麼其實Mia的員工ID就是Mike主管的員工ID,也就是100。

 

1. from EMPLOYEES w join EMPLOYEES m:

員工的資料表w:

員工名稱 員工ID 員工主管ID
Mike 200 100
Jack 200 100
Tim 200 100
Judy 200 100
Amy 200 100
Mia 100  

主管的資料表m:

員工名稱 員工ID 員工主管ID
Mike 200 100
Jack 200 100
Tim 200 100
Judy 200 100
Amy 200 100
Mia 100  

2. on w.MANAGER_ID=m.EMPLOYEE_ID

員工(w) 主管(m)
員工名稱 員工ID 員工主管ID 員工ID(m.EMPLOYEE_ID) 員工名稱
Mike 200 100 100 Mia
Jack 200 100
Tim 200 100
Judy 200 100
Amy 200 100
Mia 100      

員工主管ID(w.MANAGER_ID)=員工ID(m.EMPLOYEE_ID)


3. select w.LAST_NAME,m.LAST_NAME:員工主管ID=員工ID(m.EMPLOYEE_ID)

取得w.LAST_NAME:

員工名稱
Mike
Jack
Tim
Judy
Amy
Mia

取得m.LAST_NAME:

員工名稱
Mia

合起來:

員工名稱 員工名稱
Mike Mia
Jack
Tim
Judy
Amy

 

--self Joins

select w.LAST_NAME,m.LAST_NAME--w.LAST_NAME是員工的名字,m.LAST_NAME是主管的名字

from EMPLOYEES w join EMPLOYEES m --1.EMPLOYEES複製成兩份,一份是員工的(w)、一份是主管的(m),同時看著兩份資料

on w.MANAGER_ID=m.EMPLOYEE_ID--2.員工中的主管ID,其實就是主管自己的員工ID(設定主管ID=員工ID來做表格)

↑↓SAME

select w.LAST_NAME,m.LAST_NAME

from EMPLOYEES w,EMPLOYEES m

where w.MANAGER_ID=m.EMPLOYEE_ID


 

LAST_NAME LAST_NAME
Kochhar King
De Haan King
Hunold De Haan
Ernst Hunold
Lorentz Hunold
Mourgos King
Rajs Mourgos
Davies Mourgos
Matos Mourgos
Vargas Mourgos
Zlotkey King
Abel Zlotkey
Taylor Zlotkey
Grant Zlotkey
Whalen Kochhar
Hartstein King
Fay Hartstein
Higgins Kochhar
Gietz Higgins

左邊員工、右邊主管

(king是BOSS,沒有主管,所以沒有回傳資料)

 


select w.EMPLOYEE_ID,w.FIRST_NAME,w.MANAGER_ID,m.EMPLOYEE_ID,m.FIRST_NAME,m.MANAGER_ID

from EMPLOYEES w,EMPLOYEES m

where w.MANAGER_ID=m.EMPLOYEE_ID

w.EMPLOYEE_ID w.FIRST_NAME w.MANAGER_ID m.EMPLOYEE_ID m.FIRST_NAME m.MANAGER_ID
101 Neena 100 100 Steven NULL
102 Lex 100 100 Steven NULL
103 Alexander 102 102 Lex 100
104 Bruce 103 103 Alexander 102
107 Diana 103 103 Alexander 102
124 Kevin 100 100 Steven NULL
141 Trenna 124 124 Kevin 100
142 Curtis 124 124 Kevin 100
143 Randall 124 124 Kevin 100
144 Peter 124 124 Kevin 100
149 Eleni 100 100 Steven NULL
174 Ellen 149 149 Eleni 100
176 Jonathon 149 149 Eleni 100
178 Kimberely 149 149 Eleni 100
200 Jennifer 101 101 Neena 100
201 Michael 100 100 Steven NULL
202 Pat 201 201 Michael 100
205 Shelley 101 101 Neena 100
206 William 205 205 Shelley 101

 

 

arrow
arrow
    全站熱搜

    乙方 發表在 痞客邦 留言(0) 人氣()