Oracle-表串連

來源:互聯網
上載者:User

標籤:表串連   等值串連   自串連   不等值串連   (左右)外串連   

表串連的類型:等值串連、自串連、不等值串連、(左右)外串連


一、等值串連:通過兩個表具有相同意義的列,可以建立相等串連條件。

============================================================ 

1、只有串連列上在兩個表中都出現且滿足串連條件的行才會出現在查詢結果中。

eg:

create table emp_1 as select * from emp;

create table dept_1 as select * from dept;

insert into emp_1(empno,deptno) values (1231,88);

insert into dept_1(deptno,dname) values (77,‘ss‘);

commit;


2、存在歧義的列需要添加表名

eg:

desc emp

desc dept  找到相同的表

SQL> select ename,DEPTNO

  2  from emp a,dept b

  3  where a.deptno=b.deptno;

select ename,DEPTNO

             *

ERROR at line 1:

ORA-00918: column ambiguously defined


二、自串連:等同於等值串連,只不過是把一張表當成兩張表

============================================================ 

如:需要查詢每個僱員的管理者是什麼名字?

select e.ename,m.ename

from emp e,emp m

where e.mgr=m.empno;


三、不等值串連:兩個表中的相關的兩列進行不等串連,比較符號一般為>,<,...,BETWEEN.. AND..

============================================================ 

eg:查詢出每一個員工的工資等級

select ename,grade,sal,losal,hisal

from emp,salgrade

where sal between losal and hisal;


四、外串連

左外串連:左條件(+) = 右條件,除了顯示滿足串連條件的行之外,還顯示右條件所在的表中無法匹配串連條件的資訊

右外串連:左條件 = 右條件(+),除了顯示滿足串連條件的行之外,還顯示左條件所在的表中無法匹配串連條件的資訊

============================================================

eg:

其中dept表中,有一行40號部門根本沒辦法顯示,因為emp表中沒有任何一行資料能與之匹配,如:

select ename,loc

from emp,dept

where emp.deptno(+)=dept.deptno;


五、笛卡爾乘積

當兩個表(多張表)相關聯但是他們又沒有有效串連條件,那麼這個時候就會出現一個笛卡爾乘積


本文出自 “菜鳥達人” 部落格,請務必保留此出處http://omphy.blog.51cto.com/7921842/1895369

Oracle-表串連

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.