前言

本節(jié)我們繼續(xù)講講聯(lián)接類型中的外部聯(lián)接,本節(jié)之后我們將講述有關聯(lián)接性能以及更深入的知識,簡短內(nèi)容,深入的理解,Always to review the basics。

外部聯(lián)接

外部聯(lián)接又分為左外部聯(lián)接和右外部聯(lián)接,使用關鍵字分別是LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN,在這里OUTER關鍵字時可選的。LEFT關鍵字表示保留左側的行,RIGHT關鍵字表示保留右側的行,F(xiàn)ULL關鍵字表示左側和右側的行都保留。外部聯(lián)接的第三個邏輯查詢處理階段識別保留表中基于ON謂詞未能與另一個表匹配的行,此階段添加這些行到前兩個聯(lián)接階段生成的結果中,在這些外部行中,對于聯(lián)接非保留側的屬性將使用NULL作為占位符。說了這么多,左外部聯(lián)接就是以左表為基準,若右表滿足條件則返回右側的行,若不滿足則返回NULL而非右側的實際行數(shù)據(jù),右外部聯(lián)接同理。我們來看如下一個簡單的例子

電腦培訓,計算機培訓,平面設計培訓,網(wǎng)頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

USE TSQL2012
GO

SELECT C.custid, C.companyname, O.orderid
FROM Sales.Customers AS C
    LEFT JOIN Sales.Orders AS O ON C.custid = O.custid

電腦培訓,計算機培訓,平面設計培訓,網(wǎng)頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

電腦培訓,計算機培訓,平面設計培訓,網(wǎng)頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

從上知,Sales.Customers表中的有一個客戶沒有任何訂單,它的訂單Id為22,通過左側客戶Id為22而右側得到訂單Id為NULL而得知。

超越外部聯(lián)接基礎知識

通過上述對外部聯(lián)接的介紹,我們知道通過外部聯(lián)接能夠得到缺失值,也就是不滿足條件則返回NULL。這里我們