sql的表連接

標準:

natural join on using    #自然連接

outer join (left outer join ,right outer join ,full outer join )      #外連接

 

------------------------內連接-------------------------------

select e.last_name employee,m.last_name manager
from employees e,employees m
where e.manager_id=m.employee_id

 

 

-------------自然連接------當2個表中有同樣的column name且data type一致時可使用自然連接----------

select e.last_name,e.salary,d.department_name

from employees e natural join departments d

 

當column name或data type不滿足自然連接的要求時,可以使用 using語句

select e.last_name,e.salary,d.department_name

from employees e  join departments d

using (department_id)

 

等同於

 

select e.last_name,e.salary,d.department_name

from employees e,departments d

where e.department_id = d.department_id

 

 

------------------------外連接-------------------------------

select e.last_name,e.salary,d.department_name

from employees e join departments d                    

on (e.department_id = d.department_id)

 

 

等同於

 

select e.last_name,e.salary,d.department_name

from employees e,departments d
where e.department_id = d.department_id

 

 

------------------------左外連接-------------------------------

select e.last_name,e.salary,d.department_name

from employees e left outer join departments d

on (e.department_id = d.department_id)

 

等同於

 

select e.last_name,e.salary,d.department_name

from employees e,departments d
where e.department_id = d.department_id(+)

 

 

-------------------------右外連接------------------------------

select e.last_name,e.salary,d.department_name

from employees e right outer join departments d

on (e.department_id = d.department_id)

 

等同於

 

select e.last_name,e.salary,d.department_name

from employees e,departments d
where e.department_id(+) = d.department_id

 

 

-------------------------全外連接------------------------------

select e.last_name,e.salary,d.department_name

from employees e full outer join departments d

on (e.department_id = d.department_id)

非標準語法不能寫出全連接

 

 

-------------------------交叉連接------------------------------------

select e.last_name,e.salary,d.department_name

from employees e cross join departments d

發佈了25 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章