標準:
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