Oracle 中的natural join (自然串連)

來源:互聯網
上載者:User

雖然natural join(自然串連)實際上的用的比較少,但實際上這個串連是非常有用的,若能經常使用一下,實際上是非常方便的。

自然串連是在兩張表中尋找那些資料類型和列名都相同的欄位,然後自動地將他們串連起來,並返回所有符合條件按的結果。

來看一下自然串連的例子。

Select emp.ename,dept.dname

From emp natural join dept;

這裡我們並沒有指定串連的條件,實際上oracle為我們自作主張的將,emp中的deptno和dept中的deptno做了串連。

也就是實際上相當於

Select emp.ename,dept.dname

From emp join dept on emp.deptno = dept.deptno;

因為這兩張表的這兩個欄位deptno的類型個名稱完全相同。所以使用natural join時被自然的串連在一起了。

另外:

1.如果做自然串連的兩個表的有多個欄位都滿足有相同名稱個類型,那麼他們會被作為自然串連的條件。

2.如果自然串連的兩個表僅是欄位名稱相同,但資料類型不同,那麼將會返回一個錯誤。

3.由於oracle中可以進行這種非常簡單的natural join,我們在設計表時,應該盡量在不同表中具有相同含義的欄位使用相同的名字和資料類型。以方便以後使用natural join

最後我們在前面舉的例子都得到以下的結果:

SQL> Select emp.ename,dept.dname

2 From emp natural join dept;

ENAME DNAME

——————– —————-

SMITH RESEARCH

ALLEN SALES

WARD SALES

JONES RESEARCH

MARTIN SALES

BLAKE SALES

CLARK ACCOUNTING

SCOTT RESEARCH

KING ACCOUNTING

TURNER SALES

ADAMS RESEARCH

JAMES SALES

FORD RESEARCH

MILLER ACCOUNTING

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.