T-SQL多表垂直联接

数据表连接

两个与多个数据表之间通过共同的字段关联,属于水平连接。

可以在多个表中,垂直的连接,存在相同的字段结果,并且

对应的每个字段类型相同。

1、Union [all]

连接两个数据表,存在相同的字段,见下图

 

2,INTERSECT

找到两个数据表的交集

3、except

找出不在其中一个表的数据

2,3,内容后续用到在介绍。

4、CTE

Common Table Expression兼具视图和派生表的功能,用户可以将其视为缓存的视图,或时在同一批子查询中可以重复使用的派生表。

CET的格式

WITH <CTE 名称>(字段列表)

AS

{

<SQL 查询语法>

}

SELECT <字段> FROM <CTE名称>

注:

CTE名称:CTE的名称与数据库内其他对象的名称不相关,如果优先 级高于数据库的同名的表。

字段列表名称:列表选择的字段,查询返回的数据字段名,可以重 新定义,可以不定义,

sql查询语法:select语句。

分别以三种查询方式(视图,派生表,CTE)完成查询,得到相同的查询结果。

用户可以把CTE为缓存的视图,它的生命周期仅为一次。

下列情况可以考虑CTE

查询使用一次的数据,

重复使用,但是不需要保存在数据库中

 

大部分可以使用通过派生表实现,CTE的语法明确易懂。

posted on 2026-05-25 20:05  panpeng666  阅读(45)  评论(0)    收藏  举报

导航