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

开发工具与关键技术: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里的左连接写法。
!!!以上内容来源于个人整理老师上课的笔记,如有不妥,请指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值