mysql中的join和inner join的区别?

``` select * from `order` a INNER JOIN order_item b on a.id=b.order_id; select * from `order` a JOIN order_item b on a.id=b.order_id; ``` 我通过查询发现数据都一样没啥区别哦

1 个回答

  • 粑粑
    自己喜欢的东西,就不要问别人好不好。
    ### 一、join等同于inner join等同于where 写Inner 和不写Inner 的话,没有区别 ```sql SELECT * FROM A a JOIN B b ON a.id = b.pid ``` 等同于 ```sql SELECT * FROM A a INNER JOIN B b ON a.id = b.pid ``` 等同于 ```sql SELECT * FROM A a, B b WHERE a.id = b.pid ``` 因为执行时数据通常会把它当成Inner Join 执行 。 WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接) WHERE和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。
    发布于 2022-02-09 15:00 •IP属地 河北
    举报
    评论
    收藏