<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    落落空間

    緣來(lái)是java
    posts - 12, comments - 12, trackbacks - 0, articles - 1
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    sql內(nèi)、外、左、右連接

    Posted on 2007-06-08 18:12 落落 閱讀(2065) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): database
    在數(shù)據(jù)庫(kù)應(yīng)用中,經(jīng)常要涉及從兩個(gè)或更多的表中查詢(xún)數(shù)據(jù),這就需要使用連接查詢(xún)。
                  其格式如下:
                  SELECT COLUMN_NAME,C O L U M N _ N A M E [ , . . . n ]
                  FROM TA B L E _ N A M E,TA B L E _ N A M E [ , . . . n ]
                  WHERE TABLE_NAME.COLUMN_NAME JOIN_OPERATOR TA B L E _ N A M E . C O L U M N _ N A M E
                 上述的連接操作符(J O I N _ O P E R ATO R)可以是:=、>、<、> =、< =、! =、< >、! >、! <、= *、* =。
                 在A N S I中,“=”連接應(yīng)該寫(xiě)成Inner Join;“* =”連接應(yīng)該寫(xiě)成LEFT OUT JOIN;“= *”連接應(yīng)該寫(xiě)成“ RIGHT OUT JOIN”。
                在SQL SERVER中,這些寫(xiě)法都可以用。但是,A N S I規(guī)定的寫(xiě)法是INNER JOIN等標(biāo)志。一般而言,在任何連接中,都使用“主鍵=外鍵”的連接查詢(xún)條件。
    ---------------------------------------------------------------------------------

                非限制連接(CROSS JOIN),就是指不帶W H E R E子句的查詢(xún)。在數(shù)學(xué)上,就是表的笛卡爾積。若R表和S表非限制連接,而且R表有X行,S表有Y行,那么結(jié)果集是X * Y行。即:R表的一行對(duì)應(yīng)著S表的所有行。在應(yīng)用中,非限制連接產(chǎn)生的是無(wú)意義結(jié)果集,但在數(shù)據(jù)庫(kù)的數(shù)學(xué)模式上有重要的作用。
    -------------------------------------------------------------------------
                自然連接(INNER JOIN)也叫內(nèi)連接。我們先看下面的例子:

                SELECT PUB_NAME,TITLE
                FROM TITLES,PUBLISHERS
                WHERE TITLES.PUB_ID=PUBLISHERS.PUB_ID
                或?qū)懗桑?br>            SELECT PUB_NAME,TITLE
                FROM TITLES INNER JOIN PUBLISHERS
                ON TITLES.PUB_ID=PUBLISHERS.PUB_ID
                其中,INNER JOIN是SQL Server的缺省連接,可簡(jiǎn)寫(xiě)為J O I N。在J O I N后面指定哪些表作連接。O N后面指定了連接的條件。
                以上操作的過(guò)程如下:
                     1) 從T I T L E S表中取出一條符合其條件的記錄。
                     2) 掃描P U B L I S H E R S表,分別檢查每條記錄是否在連接屬性上同表T I T L E S取出的記錄相
                     3) 相等就顯示信息。繼續(xù)從表T I T L E S中取下一條記錄,重復(fù)步驟2。其實(shí),兩個(gè)或多個(gè)表要做連接,那么這些表之間必然存在著主鍵和外鍵的關(guān)系。所以,只需要將這些鍵的關(guān)系列出,就可以得出表連接的結(jié)果。如上例中, P U B _ I D是P U B L I S H E R S表的主鍵, P U B_ I D又是TI T L E S表的外鍵,參照P U B L I S H E R S表中的P U B _ I D .所以,這兩個(gè)表的連接條件就是T I T L E S.PUB_ID=PUBLISHERS. PUB_ID。
    -----------------------------------------------------------------------
                外連接(OUTER JOIN)允許限制一張表中的行,而不限制另一張表中的行。
                下面舉兩個(gè)例子來(lái)說(shuō)明外連接的用法。請(qǐng)比較這兩個(gè)例子。
                例顯示所有的書(shū)名(無(wú)銷(xiāo)售記錄的書(shū)也包括在內(nèi),“*”在左邊表示不限制左邊表的數(shù)
                SELECT TITLES.TITLE_ID,title=convert(char(38),TITLE),QTY
                FROM TITLES,SALES
                WHERE TITLES.TITLE_ID *= SALES.TITLE_ID
                或?qū)憺椋?br>            SELECT TITLES.TITLE_ID,title=convert(char(38),TITLE),QTY
                FROM TITLES LEFT OUTER JOIN SALES
                ON TITLES.TITLE_ID = SALES.TITLE_ID

                外連接的方法有兩種:
                • A *= B 包括第一張表A的所有行在內(nèi),而不考慮語(yǔ)句限制(如: A . t i t l e _ i d = B . t i t l e _ i d)。
                相當(dāng)于LEFT OUT JOIN。
                • A =* B 包括第二張表B的所有行在內(nèi),而不考慮語(yǔ)句限制(如: A . t i t l e _ i d = B . t i t l e _ i d)。
                相當(dāng)于RIGHT OUT JOIN。
                創(chuàng)建外連接規(guī)則:
                     1) 外連接顯示外部表中的所有行,包括與相關(guān)表不相配的行在內(nèi)。
                     2) 外連接只能在兩張表之間進(jìn)行。
                     3) 不能在內(nèi)部表上使用IS NULL檢索條件。

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国内永久免费crm系统z在线| 国产婷婷成人久久Av免费高清| 亚洲精品456播放| 免费看黄的成人APP| 亚洲国产高清在线精品一区 | 一级有奶水毛片免费看| 久久精品亚洲综合| 成人无遮挡裸免费视频在线观看 | 免费A级毛片无码免费视| 最好2018中文免费视频| 亚洲免费精彩视频在线观看| 免费黄色网址入口| 99久久免费国产特黄| 亚洲黄页网在线观看| 亚洲性猛交XXXX| 日韩免费视频一区| 无码精品人妻一区二区三区免费看 | 色偷偷女男人的天堂亚洲网| 亚洲中文字幕伊人久久无码| 成人无遮挡裸免费视频在线观看| 免费看成人AA片无码视频吃奶| 亚洲日韩精品A∨片无码加勒比| 亚洲成AV人片一区二区| 性xxxx视频播放免费| 光棍天堂免费手机观看在线观看 | 亚洲国产精品综合久久2007| 亚洲国产精品无码久久青草| 69天堂人成无码麻豆免费视频| 国产精品福利在线观看免费不卡| 亚洲一区二区三区国产精品无码| 亚洲日本va中文字幕久久| 暖暖免费高清日本中文| 59pao成国产成视频永久免费| 一本一道dvd在线观看免费视频| 精品国产成人亚洲午夜福利| 91大神亚洲影视在线| 77777亚洲午夜久久多人| 国产男女猛烈无遮挡免费视频网站| 久久综合国产乱子伦精品免费| j8又粗又长又硬又爽免费视频| 亚洲精品精华液一区二区|