整理外連線

2021-10-07 08:39:50 字數 1024 閱讀 3644

--查詢每乙個員工的部門

--兩張表做關聯查詢時,其中一張表要查詢全量的資料,並且不會因為另一張表的關聯而被篩選掉

--在兩張表關聯的時候,非全量表的關聯字段後面加上   「(+)」 就可以做外連線查詢

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...