mysql的left join和inner join的详细用法 |
您所在的位置:网站首页 › mysql中fulljoin的用法 › mysql的left join和inner join的详细用法 |
join用法
1.inner join,内连接,显示两个表中有联系的所有数据; 2.left join,左链接,以左表为参照,显示所有数据,右表中没有则以null显示 3.right join,右链接,以右表为参照显示数据,,左表中没有则以null显示 例子如图两个表
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用 left jion 时,on 和 where 条件的区别如下: 1、 on 条件是在生成临时表时使用的条件,它不管 on 中的条件是否为真,都会返回左边表中的记录。 2、where 条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有 left join 的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。 例子1.where例子 SELECT * FROM ketest as b left JOIN keketest as c on b.id = c.id WHERE c.sex = '女';
关于left join的概念,返回左边全部记录,右表不满足匹配条件的记录对应行返回null,那么单纯的对比逻辑运算量的话,inner join 是只需要返回两个表的交集部分,left join多返回了一部分左表没有返回的数据,我认为是left join 慢一点,毕竟返回的东西多嘛。 当然你要是拿小一点的表当左表,那么就是一样快,因为用inner join 的时候mysql会自动选择较小的表来作为驱动表,从而达到减少循环次数的目的 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |