內連線:合併具有同一列的兩個以上的表的行,結果集中不包含乙個表與另乙個表不匹配的行。
外連線:
兩個表在連線的時候除了返回滿足連線條件的行以外,
還返回左(右)表中不滿足連線條件的行,稱為左(右)外連線
。沒有匹配的行是,相應的結果顯示為空(null);
外連線的where條件語句類似於內連線條件語句,
但是連線條件中沒有匹配行的表要在其後面加(+)
select e.employee_id,d.department_id
from employees e , departments d
where e.department_id = d.department_id(+);
在employees表中可能存在員工在 departments中沒有部門,所以在departments表中存在沒有匹配行, d.department_id(+)
departments中沒有部門,所以在departments表中存在沒有匹配行, d.department_id(+)左外連線
左外連線
同存在相反的情況即為右外連線
e.department_id(+)
e.department_id(+)
sql99實現內連線,左外連線,右外連線,滿外連線。
內連線:
左外連線:select e.employee_id,d.department_id
join departments dfrom employees e join departments d
on e.department_id = d.department_id;
on e.department_id = d.department_id;
右外連線select e.employee_id,d.department_id
left outer join departments dfrom employees e left outer join departments d
on e.department_id = d.department_id;
on e.department_id = d.department_id;
select e.employee_id,d.department_id
right outer join departments dfrom employees e right outer join departments d
on e.department_id = d.department_id;
on e.department_id = d.department_id;
滿外連線:(可以實現連線雙方的不滿足連線條件的行全部顯示出來)
select e.employee_id,d.department_id
full outer join departments dfrom employees e full outer join departments d
on e.department_id = d.department_id;
on e.department_id = d.department_id;
內連線外連線
內連線 內連線也叫連線,是最早的一種連線,最早被稱為普通連線或自然連線。內連線是從結果中刪除其他被連線表中沒有匹配行的所有行,所以內連線可能會丟失資訊。內連線的語法 select fieldlist from table1 inner join table2 on table1.column tab...
SQL 內連線,外連線(左外連線 右外連線)
參考整理筆記 關鍵字 inner join on 語句 select from a table a inner join b table bon a.a id b.b id 執行結果 說明 組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集 陰影 部分。關鍵字 left join o...
Oracle外連線,左外連線,右外連線,內連線簡析
內連線即普通等值連線 select e.ename,e.job,e.sal,d.dname from emp e inner join dept d on e.deptno d.deptno where e.sal 2000 select e.ename e.job,e.sal d.dname fr...