多表查询数据连接方式不同,查询结果也不同

开发工具与关键技术:VS SQL
作者:肖广斌
撰写时间:2019年4月3日

在我们多表查询的过程中,我们想要得到哪些数据,不想得到哪些数据,这跟我们在查询时使用哪种连接方式有关系,当我们使用的数据连接方式不同,那么我们查询得到的结果也就不同,我们多表查询时有哪几种连接方式呢?下面是我简单整理的几种常用的连接方式
在这里插入图片描述
首先这里的例子是用班级表的主键(班级id)跟学生表的外键(班级id)连接的多表查询,当它们的表里的数据不一样时,而我们想查到想要的数据可以用以下几种方式连接表然后查询
在这里插入图片描述
1、Inner join内连接查询,这种连接方式查询出来的是取交集,就是把两边都有的数据找出来,这就是内连接。
2、Left join左连接查询,这种查询方式是以左边的数据为准,左边有哪些数据,它右边也查哪些数据,如果左边有的,右边没有的,那右边就用null来把它补上并且也查询出来,这就是左连接。
3、Right join右连接,它跟左连接的方法是相反的,就是以右边的数据为准,右边有哪些数据,它左边也查哪些数据,如果右边有的,左边没有的,那左边也同样的用null把它补上并且查询出来,这就是右连接。
4、Outer join外连接,这种连接方式我们是比较少用的,它查询出来的是并集结果,就是把两边的数据都统统查询出来,然后哪边没有的数据就有null补上,这就是外连接。
在这里插入图片描述
在这里插入图片描述
上面是在left join在sql中查询的写法,其中我们可以看到我们把所有需要的数据查了出来,一些没有的用null补上的也查了出来。
下面就是left join在vs中查询的写法了
在这里插入图片描述
在vs中是没有left join这个关键词的,所以是用join into,join into就是vs里的左连接写法。
!!!以上内容来源于个人整理老师上课的笔记,如有不妥,请指正

猜你喜欢

转载自blog.csdn.net/qq_44505797/article/details/89001217