一、sql的left join 、right join 、inner join之间的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 outer join(外连接) 可分为左外连接left ou...
1)LEFT JOIN或LEFT OUTER JOIN 左向外联接的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 2)RIGHT JOIN 或 RIGHT OUTER JOIN 右向外联接是左向外联接的反向联接。将返回右表的所...
3、right join “右联结”,表1 right join 表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据,如下: 4、outer join,在MySQL中, 外联结必须指定主表,需指定左右,也即 left outer join,right outer join,实际上,就是 left join 和 right join,为了方便书写把outer...
左外连接 left join 左外连接Left join关键字会从左表那里返回所有的行,即使是在右表中没有匹配到的行 下面是一个简单的案例 下面是测试用例 右外连接 right join 右外连接关键字Right join会从右表那里返回所有的行,即使是在左表中没有匹配到的行 下面是一个简单的案例 下面是运行及其结果 全连接 full joi...
2.left join是left outer outer的简写,select * from class a left join student b on a.class_no=b.student_class 以左边为主,不管左边能不能匹配右边,都要显示左边的数据 3.right join是right outer outer的简写,select * from class a right join student b on a.class_no=b.student_class ...
Right excluding join(右排除连接)是一种SQL操作,它类似于左排除连接,但是首先执行右连接(right join...
外连接(OUTER JOIN): 左外连接(LEFT JOIN):返回左表所有记录和右表中匹配的记录,如果右表没有匹配,右表字段为 NULL。 右外连接(RIGHT JOIN):返回右表所有记录和左表中匹配的记录,如果左表没有匹配,左表字段为 NULL。 内连接 只返回两个表中有交集的部分,而 外连接 返回一个表的所有记录,另一个表的匹配...
4.RIGHT [OUTER] JOIN RIGHT OUTERJOIN 是后面的表为基础,与LEFT OUTER JOIN用法类似。这里不介绍了。 5.UNION与UNION ALL UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同...
1. INNER JOIN:SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name 这种连接只返回两个表中name匹配的记录,即结果集只包含共同的记录。2. FULL OUTER JOIN:SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name 这个连接包含了所有Table A和Table...
right join: 包含右表的所有行,对应的左表行可能为空 inner join: 只包含左右表都匹配并且不为空的行 join: 只包含左右表都匹配并且不为空的行 left outer join: 包含左表的所有行,对应的右表行可能为空。 由于笔者知识及水平有限,文中错漏之处在所难免,如有不足之处,欢迎交流。