少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          雖然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

          posted on 2012-12-04 23:22 abin 閱讀(11609) 評論(1)  編輯  收藏 所屬分類: oracle

          Feedback

          # re: Oracle natural join(自然連接) 2014-02-06 22:17 adsfds
          動感地帶  回復  更多評論
            

          主站蜘蛛池模板: 萨嘎县| 竹北市| 福泉市| 万载县| 文化| 屏山县| 砚山县| 西乌珠穆沁旗| 昌江| 邯郸县| 洞头县| 密山市| 平湖市| 钟山县| 威海市| 桐城市| 惠安县| 东莞市| 无为县| 忻州市| 慈溪市| 北票市| 曲麻莱县| 海淀区| 安宁市| 新余市| 开远市| 绥化市| 潮安县| 木里| 东至县| 南雄市| 出国| 博罗县| 康保县| 房山区| 综艺| 松原市| 莱阳市| 陆良县| 甘孜县|