第3章 SQL 习题 - 3.7

3.7 考虑SQL查询

select distinct p.a1
from p, r1, r2
where p.a1 = r1.a1 or p.a1 = r2.a1;

在什么条件下这个查询选择的p.a1值要么在r1中,要么在r2中?仔细考察r1或r2可能为空的情况。

个人觉得

1. r1和r2之间不存在r1.a1=r2.a1的情况,即r1和r2中a1的集合不存在交集的情况;

2. p的a1属性集合值必须是r1中的a1的属性集合的子集或者是r2中的a1的属性集合的子集;

满足以上两个条件应该就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值