免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1831 | 回复: 0
打印 上一主题 下一主题

SQL快速进阶---UNION指令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-28 10:07 |只看该作者 |倒序浏览
UNION指令的目的是将两个SQL语句的结果合并起来,从这个角度来说,UNION跟JOIN有些许类似,因为这两个指令都有可以由多个表格中攫取资料,UNION的一个限制是两个SQL语句所产生的栏位需要是同样的资料。另外,当我们用UNION这个指令时,我们只会看到不同的资料值(类似SELECT DISTINCT)
UNION的语法为:
[SQL 语句 1 ]
UNION
[SQL 语句 2 ]
若有一下表格:
Store_Information 表格
store_name     Sales  Date  
Los Angeles     $1500  Jan-05-1999  
San Diego        $250    Jan-07-1999  
Los Angeles     $300    Jan-08-1999  
Boston             $700    Jan-08-1999  
Internet Sales 表格
Date              Sales  
Jan-07-1999  $250  
Jan-10-1999  $535  
Jan-11-1999  $320  
Jan-12-1999  $750  
而我们要找出所有有营业额(sales)的日子,要到达这个目的,我们用一下的SQL语句:
SELECT DATE FROM Store_informtiaon
UNION
SELECT DATE FROM Internet_Sales
结果:
Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
注意的是,如果我们在任何一个SQL语句(或是两句都在一起)用”SELECT DISTINCT DATE"的话,我们会得到一个完全一样的结果。

UNION ALL
UNION ALL 这个指令也是将两个SQL语句的结果合并在一起。UNION ALL 和UNION的不同之处在于,
UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有没有重复。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP