3. 如果左边与右表的关系是一对多的关系,对于左表任一记录,如果右表没有记录与其相对应,则全部填以null值。
典型应用:将存在多关系的引用表放在左表,将存在一关系的被引用表放在右表,通过对右表设定过滤条件,选出相应的且主键唯一的左表记录。
备注:left outter join可用left join代替。在有些数据库中,如HSqlDb, 只能使用left join而不能使用left outter join。
转化为where子句:
select * from 部门, 组织 where 部门.组织编号 = 组织.编号
right outter join
格式: select * from 部门 right join 组织 on 部门.组织编号 = 组织.编号
格式: select * from 组织 right join 部门 on 部门.组织编号 = 组织.编号
目的:将右表的所有记录列出,左表中只要符合on条件的,与右表记录相拼合,不符合条件的,填以null值。
规律:(与left outter join相反)
典型应用:可转化成left outter join。例如
select * from 组织 right join 部门 on 部门.组织编号 = 组织.编号
与
select * from 部门 left join 组织 on 部门.组织编号 = 组织.编号
的效果一样
您可能感兴趣的文章:MySQL利用profile分析慢sql详解(group left join效率高于子查询)mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录SQL之left join、right join、inner join的区别浅析解析sql语句中left_join、inner_join中的on与where的区别sql 左连接和右连接的使用技巧(left join and right join)sql left join 命令详解超详细mysql left join,right join,inner join用法分析SQL 外链接操作小结 inner join left join right joinsql中left join的效率分析与提高效率方法










