VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql语句 >
  • sql语句大全之联合查询

联合查询sql语句大全

对于不同的查询操作会生成不同的查询结果集,但在实际应用中会希望这些查询结果集连接到一起,从而组成符合实际需要的数据,此时就可以使用联合查询。使用联合查询可以将两个或更多的结果集组合到一个结果集中,新结果集则包含了所有查询结果集中的全部数据。
使用联合查询的一般语法结构为:
SELECT search_list
FROM table_source
[WHERE search_conditions]
{UNION [ALL]
SELECT select_list
FROM table_source
[WHERE search_conditions]}
[ORDER BY order_expression]
大括号中联合查询通过UNION子句实现,其中ALL关键字为可选的:如果在UNION子句中使用该关键字,则返回全部满足匹配的结果;如果不使该关键字,则返回结果中删除满足匹配的重复行。在进行联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,必须在第一个查询语句中定义列标题。
例如在“制造商信息”表和“供货商信息”表中,创建联合查询。可以使用下面的语句:
USE 网店购物系统
SELECT 制造商名称 AS '制造商及地址',制作商电话 AS '传真及电话'
FROM 制造商信息
UNION
SELECT 供货商地址,供货商电话
FROM 供应商信息
上面语句中,在第一个SELECT语句中定义了返回结果新列名,分别是“制造商及地址”和“传真及电话”,使用UNION子句连接两个查,执行语句后,得到的结果如图5-33所示。

图5-33  使用联合查询
在所有联合查询时,一定要注意以下几点:
l  所有UNION查询必须在SELECT列表中有相同的列数。即如果第一个SELECT语句有3列,那么第二个SELECT语句中也必须有3列。
l  UNION返回结果集的列名仅从第一个查询获得。如果第一个SELECT语句中定义了列名,那么不管其他SELECT语句中是否为列定义了别名,UNION子句返回的结果集都是在第一个SELECT语句中定义的内容。

相关教程