sql 笛卡尔积问题
发布网友
发布时间:2022-04-29 04:26
我来回答
共5个回答
热心网友
时间:2022-04-10 14:44
select * from b bb where bb.id not in (select * from a,b where a.id=b.id);
思路:
写个子查询 把a和b中都有的数据查出来(select * from a,b where a.id=b.id) 然后排除
多看看查询以及关联查询 子查询的原理 就明白了
热心网友
时间:2022-04-10 16:02
设:
表a
数据
1
2
3
表b
数据
2
4
5
select 数据 from a where not exists(select 数据 from b)
热心网友
时间:2022-04-10 17:37
这个不是笛卡尔积。
如果要满足你的需求则这样写:(假设a,b都只有一个id字段)
select id from b where id not in (select id from a);
-------------------------------------------补充-------------------------------------------------
试过没有?不符合要求吗?
热心网友
时间:2022-04-10 19:28
这不是笛卡尔积吧。
oracle中:select * from b minus select * from a
热心网友
时间:2022-04-10 21:36
就是笛卡尔积,记录条数就是A的记录条数*B的记录条数