union all 和union

SQL>   select   *   from   a;  
   
  ID                   NAME  
  ----------   ----------  
  1                     aa  
  2                     bb  
  3                     cc  
  6                     dd  
  7                     ee  
   
  SQL>   select   *   from   b;  
   
  ID                   ADDR  
  ----------   ----------  
  1                     aa  
  2                     bb  
  3                     cc  
  4                     dd  
  5                     ee  
   
  SQL>   select   *   from   a  
      2     union   all  
      3     select   *   from   b;  
   
  ID                   NAME  
  ----------   ----------  
  1                     aa  
  2                     bb  
  3                     cc  
  6                     dd  
  7                     ee  
  1                     aa  
  2                     bb  
  3                     cc  
  4                     dd  
  5                     ee  
   
  已 选择 10行。  
   
  SQL>   select   *   from   a  
      2     union    
      3     select   *   from   b;  
   
  ID                   NAME  
  ----------   ----------  
  1                     aa  
  2                     bb  
  3                     cc  
  4                     dd  
  5                     ee  
  6                     dd  
  7                     ee  
   
  已选择7行。  
   
  SQL>

 

两边字段的个数和对应字段的类型要一致.

如果在同一张表中不存在重复的记录,那就不使用UNION   ALL,用UNION,会过滤掉重复的记录,但是效率也不见得高。   
过滤重复记录是需要额外的系统开销的。

union             -----过滤重复记录,并排序   
union   all     -----不过滤,不排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值