注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

The Usage of Combining Queries  

2011-06-22 14:26:29|  分类: Postgres基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

             

        今天学习了下 PostgreSQL 有关结果集的合并方法, 主要包括 Uinon, Intersect,Except
  三种方式, 以下为详细信息。
    
    
--2 主要语法
query1 UNION
[ALL] query2      
query1 INTERSECT [ALL] query2
query1 EXCEPT [ALL] query2

    备注: UNION            表示返回结果集 query1 合并成 query2 ,如果不加 ALL 参数,则去重,否则不去;
                INTERSECT   表示返回结果集 query1和 query2 的交集;
                EXCEPT         表示返回在结果集 query1 中并且不在 query2 的结果集, 即结果集 query1 减去 query2的部分。
    

--2 一张测试表
skytf=> \d  test_41
           Table "skytf.test_41"
 Column |         Type          | Modifiers
--------+-----------------------+-----------
 id     | integer               |
 name   | character varying(32) |

skytf=>

skytf=> select * From test_41;
 id | name
----+------
  1 | a
  2 | b
  3 | c
(3 rows)


--3 union 操作
skytf=> (select * From test_41) union ( select * from test_41);
 id | name
----+------
  3 | c
  1 | a
  2 | b
(3 rows)


skytf=> (select * From test_41 where id=1) union ( select * from test_41 where id=2);
 id | name
----+------
  1 | a
  2 | b
(2 rows)


--4 union all 操作
skytf=>  (select * From test_41) union all ( select * from test_41);
 id | name
----+------
  1 | a
  2 | b
  3 | c
  1 | a
  2 | b
  3 | c
(6 rows)


--5 INTERSECT 操作
skytf=>  (select * From test_41) INTERSECT   ( select * from test_41 where id=1);
 id | name
----+------
  1 | a
(1 row)

 

--6 except 操作
skytf=>  (select * From test_41) except  ( select * from test_41 where id=1);
 id | name
----+------
  3 | c
  2 | b
(2 rows)


--7 注意事项

       使用 "Uinon, Intersect,Except" 操作需要 query1,query2满足一定条件,即 query1 和 query2
 返回同样的字段,并且返回的字段类型一致。

  评论这张
 
阅读(25639)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016