mysql中的left join和left outer join
关于
关于mysql中的left join和left outer join的区别
LEFT JOIN是LEFT OUTER JOIN的简写版;
内连接(INNER JOIN) :只连接匹配的行;
左外连接(LEFT JOIN或LEFT OUTER JOIN) :包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行;
右外连接(RIGHT JOIN或RIGHT OUTER JOIN) :包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行;
全外连接(FULL OUTER JOIN) :包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行;
交叉连接 生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行都一一匹配(开发中避免使用);
内连接inner join的举例说明:
select * from t_institution i
inner join t_teller t
on i.inst_no = t.inst_no
where i.inst_no = "5801";
其中inner可以省略;
等价于早期的连接语法
select * from t_institution i, t_teller t
where i.inst_no = t.inst_no
and i.inst_no = "5801";
左外连接left outer join的举例说明:
select * from t_institution i
left outer join t_teller t
on i.inst_no = t.inst_no;
其中outer可以省略;
右外连接right outer join的举例说明:
select * from t_institution i
right outer joint_teller t
on i.inst_no = t.inst_no;
其中outer可以省略;
全外连接full outer join的举例说明:
select * from t_institution i
full outer join t_teller t
on i.inst_no = t.inst_no;