DB2 结果集连接关键字

DB2对集合的处理

有a和b两个集合

数据:

a数据

b数据

一、交集
1-1

INTERSECT

INTERSECT ALL(等效INTERSECT)

select name, age from sys_user_a
intersect
select name, age from sys_user_b

select name, age from sys_user_a
intersect all
select name, age from sys_user_b

二、差集
2-1

EXCEPT

EXCEPT ALL(等效EXCEPT)

select name, age from sys_user_a
except
select name, age from sys_user_b

2-2
select name, age from sys_user_a
except all
select name, age from sys_user_b
2-3

三、合集
3-1

UNION(消重合集)

UNION ALL(不消重合集)

select name, age from sys_user_a
union
select name, age from sys_user_b
3-2

当使用 union all 时,可以看到出现了两条(‘李莉’, ‘14’)的数据,而在 union 时只有一条

select name, age from sys_user_a
union all
select name, age from sys_user_b

3-3
四、其他情况
4-1
4-1

图4-1可以使用图4-2和图4-3的合集表示,也可以使用图3-1和图1-1的差集表示

4-2
4-2
4-3
4-3

对于图4-2和图4-3的情况可以使用NOT IN 子查询、LEFT JOIN 和 NULL条件、NOT EXISTS子查询

以图4-2的效果为例

select name, age from sys_user_a
where (name, age) not in (select name, age from sys_user_b)
select a.name, a.age from sys_user_a a
left join (select name, age from sys_user_b) b on a.name = b.name and a.age = b.age
where b.name is null
select name, age from sys_user_a a
where not exists (select name, age from sys_user_b b where a.name = b.name and a.age = b.age)

 

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Raphael-laq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值