--查詢每乙個員工的部門
--兩張表做關聯查詢時,其中一張表要查詢全量的資料,並且不會因為另一張表的關聯而被篩選掉
--在兩張表關聯的時候,非全量表的關聯字段後面加上 「(+)」 就可以做外連線查詢
select * from dept d,emp e where d.deptno = e.deptno(+);
select * from dept
--左連線/ 做外連線查詢時,全量表在左邊就是左連線
select * from dept d,emp e where d.deptno = e.deptno(+);
--右連線 做外連線查詢時,全量表在右邊就是右連線
select * from emp e, dept d where e.deptno(+) = d.deptno;
--查詢員工的編號,姓名和他的上級領導的編號,姓名
select e.empno, e.ename, e1.empno, e1.ename from emp e , emp e1 where e.mgr = e1.empno;
--這樣的話總裁沒有查出來 可以採取外連線的方式
select e.empno 員工編號,
e.ename 員工姓名,
e1.empno 上級領導編號 ,
e1.ename 領導姓名
from emp e, emp e1
where e.mgr= e1.empno(+) ;
--sql1999的用法
select * from emp e, dept d where e.deptno = d.deptno;
--等同於
--左連線
select * from emp e left join dept d on e.deptno = d.deptno; -- 左邊是全量的資料
--右連線
select * from dept d right join emp e on d.deptno = e.deptno; -- 右邊是全量的資料
自然連線,外連線,左外連線,右外連線
1.自然連線 結果基於表r和s的笛卡爾乘積,取對應的r和s中相同屬性組都相同的值,同時相同屬性組只保留乙個 先來看圖示,2個表以及自然連線的結果 操作的步驟 1.1找出2個表中相同的屬性組 屬性a加上屬性b 1.2找相同屬性組中,相同的屬性值所對應的元組 相同的屬性值 1.2.相同屬性值對應的元組 ...
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...