MS SQL Server Joins子句用于合并數(shù)據(jù)庫中兩個(gè)或多個(gè)表的記錄。 JOIN是通過使用每個(gè)表共有的值來組合兩個(gè)表的字段的手段。
請(qǐng)參考具有以下記錄的兩張表,(a)表CUSTOMERS表記錄如下:
ID NAME AGE ADDRESS SALARY 1 Ramesh 32 Ahmedabad 2000.00 2 Khilan 25 Delhi 1500.00 3 kaushik 23 Kota 2000.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 6 Komal 22 MP 4500.00 7 Muffy 24 Indore 10000.00
另一張(b)表ORDERS表記錄如下:
OID DATE CUSTOMER_ID AMOUNT 100 2009-10-08 00:00:00.000 3 1500.00 101 2009-11-20 00:00:00.000 2 1560.00 102 2009-10-08 00:00:00.000 3 3000.00 103 2008-05-20 00:00:00.000 4 2060.00
讓我們?cè)谖覀兊腟ELECT語句中加入這兩個(gè)表,如下所示
SELECT ID, NAME, AGE, AMOUNT FROM CUSTOMERS, ORDERS WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID OR SELECT A.ID, A.NAME, A.AGE, B.AMOUNT FROM CUSTOMERS A inner join ORDERS B on A.ID = B.Customer_ID
上述命令將產(chǎn)生以下結(jié)果集:
ID NAME AGE AMOUNT 2 Khilan 25 1560.00 3 kaushik 23 1500.00 3 kaushik 23 3000.00 4 Chaitali 25 2060.00
值得注意的是,連接是在WHERE子句中執(zhí)行的。 可以使用幾個(gè)運(yùn)算符來連接表,例如=,<,>,<>,<=,> =,!=,BETWEEN,LIKE和NOT; 它們都可以用于連接表。 然而,最常見的運(yùn)算符是等號(hào)。
MS SQL Server連接類型:
在MS SQL Server中有不同類型的連接 --
INNER JOIN -當(dāng)兩個(gè)表中都有匹配項(xiàng)時(shí)返回行。
LEFT JOIN -返回左側(cè)表中的所有行,即使右表中沒有匹配項(xiàng)。
RIGHT JOIN -返回右表中的所有行,即使左表中沒有匹配項(xiàng)。
FULL JOIN -在其中一個(gè)表中存在匹配項(xiàng)時(shí)返回行。
SELF JOIN -這用于將表連接到自身,就像該表是兩個(gè)表,臨時(shí)重命名MS SQL Server語句中的至少一個(gè)表。
CARTESIAN JOIN -返回兩個(gè)或多個(gè)聯(lián)接表中的記錄集的笛卡爾乘積。
更多建議: