SQL連接查詢(xún)知識 軟件測試
SQL連接查詢(xún)知識
一、交叉連接(CROSS JOIN)
交叉連接(CROSS JOIN):有兩種,顯式的和隱式的,不帶ON子句,返回的是兩表的乘積,也叫笛卡爾積。
例如:下面的語(yǔ)句1和語(yǔ)句2的結果是相同的。
語(yǔ)句1:隱式的交叉連接,沒(méi)有CROSS JOIN。
SELECT O.ID, O.ORDER_NUMBER, C.ID, C.NAME
FROM ORDERS O , CUSTOMERS C
WHERE O.ID=1;
語(yǔ)句2:顯式的交叉連接,使用CROSS JOIN。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM ORDERS O CROSS JOIN CUSTOMERS C
WHERE O.ID=1;
語(yǔ)句1和語(yǔ)句2的結果是相同的,查詢(xún)結果如下:
二、內連接(INNER JOIN)
內連接(INNER JOIN):有兩種,顯式的和隱式的,返回連接表中符合連接條件和查詢(xún)條件的數據行。(所謂的鏈接表就是數據庫在做查詢(xún)形成的中間表)。
例如:下面的語(yǔ)句3和語(yǔ)句4的結果是相同的。
語(yǔ)句3:隱式的內連接,沒(méi)有INNER JOIN,形成的中間表為兩個(gè)表的笛卡爾積。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C,ORDERS O
WHERE C.ID=O.CUSTOMER_ID;
語(yǔ)句4:顯示的內連接,一般稱(chēng)為內連接,有INNER JOIN,形成的中間表為兩個(gè)表經(jīng)過(guò)ON條件過(guò)濾后的笛卡爾積。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C INNER JOIN ORDERS O ON C.ID=O.CUSTOMER_ID;
語(yǔ)句3和語(yǔ)句4的查詢(xún)結果:
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/