T-SQL连接
T-SQL将来自两个或多个表的记录组合在一起。它用于将两个或多个表中的记录合并到数据库中。使用JOIN将许多表中的字段连接起来,使用相等的值。
看下面的两个表,(a) CUSTOMERS表如下 –
| ID | NAME | AGE | ADDRESS | SALARY | 
|---|---|---|---|---|
| 1 | Hamilton | 23 | Australia | 34000 | 
| 2 | Warner | 34 | England | 22000 | 
| 3 | Martin | 28 | China | 25000 | 
| 4 | Twinkle | 30 | Turkey | 50000 | 
| 5 | Tinu | 32 | Nepal | 45000 | 
| 6 | Michal | 31 | Bhutan | 20000 | 
| 7 | Harper | 20 | Bangladesh | 15000 | 
(b) 另一个名为ORDERS的表如下 –
| OID | DATE | CUSTOMER_ID | AMOUNT | 
|---|---|---|---|
| 100 | 2020-10-08 00.00.000 | 3 | 15000 | 
| 101 | 2020-11-20 00.00.000 | 2 | 15600 | 
| 102 | 2020-10-08 00.00.000 | 3 | 30000 | 
| 103 | 2019-05-20 00.00.000 | 4 | 20600 | 
让我们像下面这样在SELECT语句中加入两个表 –
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
该命令产生了给定的输出。

连接是在WHERE子句中执行的。许多运算符将用于连接表,例如=、<、>、<>、<=、>=、!=、LIKE、BETWEEN和NOT。
MS SQL中的连接类型:
MS SQL Server使用许多类型的连接 –
- INNER JOIN
 - LEFT JOIN
 - RIGHT JOIN
 - FULL JOIN
 - SELF JOIN
 - CARTESIAN JOIN
 

| 序号 | 描述 | 
|---|---|
| INNER JOIN | 当表中存在匹配时返回行。 | 
| LEFT JOIN | 它从第一个(最左边)具有匹配正确的表记录的表中选择记录。 | 
| RIGHT JOIN | 如果在左侧的表中没有找到任何匹配,则从右侧的表中选择所有行。 | 
| FULL JOIN | 如果其中一个表中存在任何匹配,则行将在全连接中合并。 | 
| SELF JOIN | 如果它具有两个表,则可使用SELF JOIN加入一个表,在MS SQL SERVER中至少重命名一个表。 | 
| CARTESIAN JOIN | 笛卡尔积设置记录的记录许多连接表在T-SQL中。 | 
例如:
下面是两个名为Color和Size的表,我们使用完全连接将它们合并。

极客教程