T-SQL 连接表 联表查询 多表查询
2018-12-14 11:31 更新
MS SQL Server Joins子句用于合并数据库中两个或多个表的记录。 JOIN是通过使用每个表共有的值来组合两个表的字段的手段。
请参考具有以下记录的两张表,(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
让我们在我们的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
上述命令将产生以下结果集:
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子句中执行的。 可以使用几个运算符来连接表,例如=,<,>,<>,<=,> =,!=,BETWEEN,LIKE和NOT; 它们都可以用于连接表。 然而,最常见的运算符是等号。
MS SQL Server连接类型:
在MS SQL Server中有不同类型的连接 --
INNER JOIN -当两个表中都有匹配项时返回行。
LEFT JOIN -返回左侧表中的所有行,即使右表中没有匹配项。
RIGHT JOIN -返回右表中的所有行,即使左表中没有匹配项。
FULL JOIN -在其中一个表中存在匹配项时返回行。
SELF JOIN -这用于将表连接到自身,就像该表是两个表,临时重命名MS SQL Server语句中的至少一个表。
CARTESIAN JOIN -返回两个或多个联接表中的记录集的笛卡尔乘积。
以上内容是否对您有帮助:
更多建议: