日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

自然連接,等值連接,內(nèi)連接的聯(lián)系與區(qū)別

 hongshatang 2011-03-20

自然連接,等值連接,內(nèi)連接的聯(lián)系與區(qū)別

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

自然連接是在兩張表中尋找那些數(shù)據(jù)類型和列名都相同的字段,然后自動地將他們連接起來,并返回所有符合條件按的結(jié)果。

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

Select emp.ename,dept.dname

From emp natural join dept;

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

也就是實際上相當(dāng)于

Select emp.ename,dept.dname

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

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

 

另外:

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

2.如果自然連接的兩個表僅是字段名稱相同,但數(shù)據(jù)類型不同,那么將會返回一個錯誤。

3.由于oracle中可以進(jìn)行這種非常簡單的natural join,我們在設(shè)計表時,應(yīng)該盡量在不同表中具有相同含義的字段使用相同的名字和數(shù)據(jù)類型。以方便以后使用natural join

最后我們在前面舉的例子都得到以下的結(jié)果:

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

內(nèi)連接與等值連接是一回事情。

經(jīng)常有人會問到select a.id,b.name from a,b where a.id=b.pid

select a.id,b.name from a inner join b on a.id=b.pid.有什么區(qū)別,哪個效率更高一些。

實際上一回事情了。只是內(nèi)連接是由SQL 1999規(guī)則定的書寫方式。兩個說的是一碼事。




等值連接

  等值連接是條件連接在連接運算符為“=”號時的特例。
  它是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組
  自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉
  等值連接表示為RA=BS,自然連接表示為RS;自然連接是除去重復(fù)屬性的等值連接。兩者之間的區(qū)別和聯(lián)系如下:
  1、自然連接一定是等值連接,但等值連接不一定是自然連接。等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去。
  2、等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性。
  3、等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多