七种join模型

其中左外连接,右外连接,全外连接各有两种模型
创建表

我们创建两张表,部门表department和员工表employee,主键都为id
内连接

根据内连接特点,我们可以得出7条正确结果:根据部门表的id,一行一行的和员工表的部门id匹配,有结果就显示
左外连接(第一种情况)

我们可以看到,左外连接的特点是LEFT OUT左边的表的departmentId和右边的表的id一行一行的匹配,包括左表所有的行,右表没有记录就用null填充
右外连接(第一种情况)

我么可以看到,右外连接是将RIGHT JOIN右边的表department中的id列,一行一行的与employee表匹配,可以看到employee表中并没有5的departmentId,故此行用null填充
左外连接(第二种情况)

显示的结果是employee表独有的一行,对比第一种情况的左外连接,我们可以看到,当department表的id为null,查询的结果就是employee表的独有结果
右外连接(第二种情况)

根据左外连接的情况一样,我们可以得出右外连接的特殊结果
全外连接(第一种情况)

mysql不支持全外连接的写法,这个时候我们需要另一种写法,使用关键字union

我们同样可以得出一样的结论,其原理就是将内连接的结果加上左外连接和右外连接的结果
全外连接(第二种情况)

我们通过整合左外连接和右外连接的第二种情况,就可以得出两表特有的结果的集合

本文深入解析了七种SQL join模型,包括内连接、左外连接、右外连接和全外连接的两种不同情况,通过创建部门表和员工表的实例,详细展示了每种连接方式的特点和结果。
389

被折叠的 条评论
为什么被折叠?



