- T-SQL 教程
- T-SQL - 主页
- T-SQL - 概述
- T-SQL - 数据类型
- T-SQL - 创建表
- T-SQL - 删除表
- T-SQL - INSERT 语句
- T-SQL - SELECT 语句
- T-SQL - UPDATE 语句
- T-SQL - 删除语句
- T-SQL - WHERE 子句
- T-SQL - LIKE 子句
- T-SQL - ORDER BY 子句
- T-SQL - GROUP BY 子句
- T-SQL - DISTINCT 子句
- T-SQL - 连接表
- T-SQL - 子查询
- T-SQL - 存储过程
- T-SQL - 事务
- T-SQL - 索引
- T-SQL - 函数
- T-SQL - 字符串函数
- T-SQL - 日期函数
- T-SQL - 数值函数
- T-SQL 有用资源
- T-SQL - 快速指南
- T-SQL - 有用的资源
- T-SQL - 讨论
T-SQL - 连接表
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 - 返回两个或多个连接表中记录集的笛卡尔积。