数据库视频-第七章

###【连接】

【导图】
在这里插入图片描述
【内容】
1.内连接(inner join)
内连接基本与自然连接相同,不同之处在于自然连接要求是同名属性列的比较,而内连接则不要求两属性列同名,可以用using或on来指定某两列字段相同的连接条件。
在这里插入图片描述

2.外连接(outer join)
内连接消除与另一个表的任何行不匹配的行,而外连接会返回FROM子句中提到的至少一个表或视图中的所有行,只要这些行符合任何搜索条件。
因为,在外连接中参与连接的表有主从之分,以主表的每行数据去匹配从表中的数据行,如果符合连接条件,则直接返回到查询结果中;如果主表中的行在从表中没有找到匹配的行,主表的行仍然保留,并返回到查询结果中,相应的从表中的行被填上空值后也返回到查询结果中。

2.1左外连接(left outer join)
左外连接是在两表进行自然连接,只把左表要舍弃的保留在结果集中,右表对应的列上填null。
例子:
SELECT A.班级名,A.班级人数,B.姓名,B.联系方式
FROM 班级信息 A LEFT OUTER join 辅导员信息 B
ON A.辅导员 = B.辅导员编号
2.2右外连接(rignt outer join)
右外连接是在两表进行自然连接,只把右表要舍弃的保留在结果集中,左表对应的列上填null。
例子:
SELECT A.班级名,A.班级人数,B.姓名,B.联系方式
FROM 班级信息 A RIGHT OUTER join 辅导员信息 B
ON A.辅导员 = B.辅导员编号
2.3全外连接(full join)
全外连接是在两表进行自然连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。
例子:
SELECT A.班级名,A.班级人数,B.姓名,B.联系方式
FROM 班级信息 A FULL OUTER join 辅导员信息 B
ON A.辅导员 = B.辅导员编号
3.交叉连接(cross join)
不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/frj0260/article/details/82804824