select 1 from b where b.id = a.id和 select 1 from a where b.id = a.id有区别么?

select1frombwhereb.id=a.id和select1fromawhereb.id=a.id有区别么?请问他们有区别么?举个例子:select*frombw... select 1 from b where b.id = a.id和 select 1 from a where b.id = a.id有区别么?
请问他们有区别么?
举个例子:

select * from b where exists (select 1 from a where a.c=b.c)
select * from b where exists (select 1 from b where a.c=b.c)
这两句有区别么?
展开
 我来答
Zjmainstay
推荐于2016-04-16 · 知道合伙人互联网行家
Zjmainstay
知道合伙人互联网行家
采纳数:580 获赞数:1129
http://www.zjmainstay.cn

向TA提问 私信TA
展开全部
选的表不同,你的例子,第一个是从b表选a.c=b.c的数据,第二个是从a表选。就好像a有3个c=1,b有1个c=1,你说从不同表选c=1结果一样不?就这意思。
其实你的:select * from b where exists (select 1 from a where a.c=b.c)
等价于:select * from b where b.c IN (select a.c from a where a.c=b.c)
可能用下面这句容易看懂些。就是从b表中查找与a表有相同字段c的所有结果集。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式