SQL SERVER数据库的三种常用连接解析:
官方解释:
1、left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
2、right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
3、inner join(等值连接) 只返回两个表中联结字段相等的行
PS:无论左,右连接得到的结果集的记录数肯定是大于等于主表的记录数的,而内连接的结果集可以是小于,等于,大于连接的表的记录数的。
左,右还是内连接表的一个重要的用处:可以横行的扩展一个表,可以得到一个有更多属性的新的表
Union
UNION 指令的目的是将两个 SQL 语句的结果合并起来,UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
UNION 可以纵向的增加一个表的记录行数
注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用 UNION ALL,另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
右连接 实例代码:
1 SELECT 2 files.id,files.filepath,files.filename 3 FROM 4 files 5 RIGHT JOIN pfiles ON files.id = pfiles.id
左连接 实例代码:
1 SELECT 2 files.id,files.filepath,files.filename 3 FROM 4 files 5 LEFT JOIN pfiles ON files.id = pfiles.id
内连接 实例代码:
1 SELECT 2 files.id,files.filepath,files.filename 3 FROM 4 files 5 INNER JOIN pfiles ON files.id = pfiles.id
Union:
1 SELECT 2 files.id 3 FROM 4 files 5 UNION 6 SELECT 7 pfiles.id 8 FROM 9 pfiles
原文:http://www.cnblogs.com/QQ931697811/p/4364986.html