为了账号安全,请及时绑定邮箱和手机立即绑定

where 和 join on有什么区别啊.都能达到同样的效果.

select * from A a,B b where a.id=b.id;
select * from A a join B b on(a.id=b.id);

都能达到同样效果.各有什么好处?效率哪个更好?

正在回答

3 回答

on后面的是连接条件,代表两个表建立关系所遵循的规则

where后面的可以看作是筛选条件,是对最终结果集进行过滤所遵循的规则


1 回复 有任何疑惑可以回复我~
#1

weibo_设计前沿 提问者

非常感谢!
2016-12-26 回复 有任何疑惑可以回复我~

这两种写法最终产生的结果是相同的。只是SQL标准的不同实现

1 回复 有任何疑惑可以回复我~

第一种是多表查询,结果集是笛卡尔积,行数是两个表行数之积,JOIN是在主表的基础上匹配另一张表,所以如果数据量很大的话,JOIN效率就会比多表查询高,但是数据量小的话差不多

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

where 和 join on有什么区别啊.都能达到同样的效果.

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信