常用的多表连接查询

内连接

内连接(inner join):返回的是两个表中匹配连接条件的行的集合
1.等值内连接
在这里插入图片描述

2.非等值内连接
在这里插入图片描述
3.自然连接(natural join)
在这里插入图片描述
自然连接 :自动找相同字段相等的值作为连接条件,若没有相同字段,则相当于做笛卡尔积运算,即dept表中的每一行都有test表中的每一行去匹配,返回 行数*行数 条记录

外连接

1.左外连接(left join)
在这里插入图片描述
左外连接:左边(dept表)不符合连接条件的数据也会查询出来
2.右外连接(right join)
在这里插入图片描述
右外连接:右边(test表)不符合连接条件的数据也会查询出来
3.全连接(full join)
在这里插入图片描述
左边(dept表)和右边(test表)不符合连接条件的数据也会查询出来

交叉连接(cross join)

在这里插入图片描述
交叉连接就是笛卡尔积运算

自连接

即自身连接,也就是说把一张表看做两张表,分别取不同的别名,做连接查询
实例:假设在teacher表中(如下图),有老师的姓名tname列,导师编号mgrno列,要求查询每个老师的导师是谁:
在这里插入图片描述
可以把teacher表看做两张表,分别取不同的别名,sql语句如下:
select t1.tname,t2.tname 导师
from teacher t1 inner join teacher t2 on t1.mgrno=t2.tno
结果如下:
在这里插入图片描述
这就是自身连接。

如果对你有所帮助,请点赞评论一下,谢谢

原创文章 6 获赞 5 访问量 166

猜你喜欢

转载自blog.csdn.net/dongzhanglong/article/details/105862021