left join 是left outer join的简写,left join默认是outer属性的。
Inner Join
Inner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和用select查询多表是一样的效果,所以很少用到;
outer join则会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。关键就是后面那句,返回的多一些。所以通常意义上的left join就是left outer join
left join:是SQL语言中的查询类型,即连接查询。它的全称为左外连接(left outer join),是外连接的一种。
连接通常可以在select语句的from子句或where子句中建立,其语法格式为:
select colunm_name1,colunm_name2
from table_name1
left join table_name2
on table_name1.colunmname=table_name2.colunmname
其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接称为自连接, join_type 为连接类型,可以是left join 或者right join 或者inner join 。
on (join_condition)用来指连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。
举例说明
例:
SELECT bookinfo.bookname, authorinfo.hometown
FROM bookinfo LEFT JOIN authorinfo
ON bookinfo.authorname=authorinfo.authorname;
left join 是 left outer join 简写
以下是例子
a表: f1 f2 f3 b表: f4 f5 f6 f7
1 2 3 1 1 1 1
4 5 6
select a.* ,b.* from a a left outer join b b on a.f1=b.f4
结果: f1 f2 f3 f4 f5 f6 f7
1 2 3 1 1 1 1
4 5 6
结果同使用left join 一样