這一篇文章要總結的是用得最多的聯接查詢即外聯接查詢,外聯接查詢相對于交叉聯接和內聯接來說要更復雜一些,我準備從以下幾個方面對外聯接進行總結。
1,什么是外聯接查詢
2,一個外聯接查詢的例子
3,關于外聯接查詢的總結
什么是外聯接查詢外聯接除了有內聯接的兩個邏輯處理步驟(即笛卡爾積和ON過濾)之外,還多加一個外聯接特有的第三步:添加外部行。
在外聯接中,需要將一個表標記為保留表,在兩個表之間用LEFT OUTER JOIN連接(OUTER是可選的),LEFT關鍵字左邊表的行是保留的。外聯接的第三個邏輯查詢處理步驟就是要識別保留表中按照ON條件在另一個表中找不到與之匹配的那些行,然后將這些行添加到聯接的前兩個步驟生成的結果表中。對于來自聯接的非保留表的那些列,追加的外部行中的這些列則用NULL作為占位符。
一個外聯接查詢的例子下面的例子查詢根據客戶的客戶ID和訂單的客戶ID對Customers表和Orders表進行聯接,并返回客戶和他們的訂單信息。該聯接是使用的左外聯接,所以查詢結果會返回那些沒有發出任何訂單的客戶。
SQL查詢代碼:
-- LEFT JOIN外聯接查詢SELECT customers.custid,customers.companyname,orders.orderid FROM Sales.Customers AS customersLEFT JOIN Sales.Orders AS orders ON customers.custid = orders.custid;
查詢結果:
新聞熱點
疑難解答