• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試開發技術SQL Server應用技巧:內部連接和外部連接中NULLS的影

    發布: 2009-10-09 11:11 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 75次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試開發技術SQL Server應用技巧:內部連接和外部連接中NULLS的影  SQL Server數據庫

    關鍵字:SQL Server 應用技巧這篇SQL Server應用技巧的文章解釋了NULLS對數據操作的影響,以及通過內部連接和外部連接得到不同的查詢結果。

    SQL Server 開發人員必須了解兩件事情:首先,內部連接和外部連接的差異;其次,NULLS對兩種連接操作的影響。這篇文章就涵蓋了這兩個方面。

    讓我們一步步來分析問題。首先,內部連接和外部連接的差異,然后,查詢中NULLS的影響。為了研究內部連接和外部連接的差異,我們需要一些樣例數據。

    假設我們有兩個數據表T1和T2,每個表中都含有數據列Testjoin。在數據表T1中,Testjoin列的數據值是1,2,3。在T2中,Testjoin列的數據值是NULL,2,3;赥estjoin列的內部查詢將只會返回兩行,其中數值1和NULL無法連接。然而當為外部連接時,數值1和NULL卻可以連接。例如,下面查詢語句的返回值就是那些下了訂單的客戶所在的行。

    SELECT CustomerID, OrderID FROM Customers Inner Join Orders
    On Customers.CustomerID = Orders.CustomerID

    (在許多商務交易中,這么做是有根據的,一些商務交易中,甚至規定了客戶必須至少下一個訂單。在我看來,數據庫的定義階段就應該反映這些商務交易規則,而不是在某些中間階段。當然,也存在著一些不同的情況。)

    下面是一個外部連接:

    SELECT CustomerID, OrderID FROM Customers LEFT OUTER JOIN Orders
    OnOrders.CustomerID = Customers.CustomerID

    它的返回值是所有的客戶列表,而不管客戶是否下了訂單。

    運行列表A中的腳本來創建一個測試表格.

    下面的SQL語句對外部連接和內部連接進行了比較:

    SELECT InnerOuter.T1.T1ID, InnerOuter.T1.NameAS Name1, 
        InnerOuter.T2.T2ID, InnerOuter.T2.NameAS Name2
    FROM   InnerOuter.T1 LEFT OUTER JOIN
              InnerOuter.T2 ON InnerOuter.T1.T1ID = InnerOuter.T2.T1ID

    當運行了腳本中的兩個查詢之后,你會發現內部連接返回兩行,而外部連接返回了三行。即使再添加第三個數據表,結果仍是遵循同樣的規則。如列表B示:

    如果你在select查詢語句中加了第三個表格,仍會得到同樣的結果:內部連接返回兩行,外部連接返回三行。如列表C示:

    下面看看NULLS對不同的集合函數的影響。為了更好的理解,在表T2上增加一列空的money列,稱為Amount。在T2種增加一些行數據,如下所示:

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: server Server SERVER sql SQL Sql 技巧 軟件測試 NULLS

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>