前言

本節(jié)開始我們進(jìn)入聯(lián)接學(xué)習(xí),關(guān)于連接這一塊涉及的內(nèi)容比較多,我們一步一步循序漸進(jìn)學(xué)習(xí),簡短內(nèi)容,深入的理解,Always to review the basics。

交叉聯(lián)接(CROSS JOIN)

交叉連接是最簡單的聯(lián)接類型。交叉聯(lián)接僅執(zhí)行一個邏輯查詢處理階段-笛卡爾乘積。例如對兩個輸入表進(jìn)行操作,聯(lián)接并生成兩個表的笛卡爾乘積,也就是說,將一個表的每一行與另一個表的所有行進(jìn)行匹配。所以,如果一個表有m行,另一個表有n行,得到的結(jié)果中則會有m*n行。我們就拿SQL Server 2012教程中的例子說下

SELECT C.custid, E.empid
FROM Sales.Customers AS C
 CROSS JOIN HR.Employees AS E
ORDER BY E.empid

在Sales.Customers表中有91行數(shù)據(jù),HR.Employees表中有9行數(shù)據(jù),則利用交叉聯(lián)接數(shù)據(jù)則有819(91*9)行數(shù)據(jù),簡略數(shù)據(jù)如下。

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

交叉聯(lián)接我們可以用如下圖表示

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

交叉聯(lián)接最大的用途在于生成數(shù)字表以便我們用于其他目的,我們一起來看看。

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

IF OBJECT_ID('dbo.Digits','U')
IS NOT NULL DROP TABLE dbo.Digits;

CREATE TABLE dbo.Digits
(
    digit INT NOT NULL
);

網(wǎng)友評論