问答详情
源自:2-2 join从句—左外连接

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);

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

提问者:weibo_设计前沿 2015-05-25 21:02

个回答

  • 侠客岛的含笑
    2016-11-06 14:28:26
    已采纳

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

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


  • sqlercn
    2015-05-26 10:40:20

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

  • qq_慕设计6412959
    2019-09-12 10:18:40

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