MySQL核心--关联查询,子查询,连接查询

关联查询,子查询,连接查询

一、外键关联查询

多表查询操作,是在项目开发时使用较多的查询操作,这里以两张表的操作方式示例,更多表的操作再次基础上拓展即可。

两张表之间的公共字段就是外键,如职员表employee和部门表department之间就是通过不部门编号进行关联的。
在这里插入图片描述

需求:查询军情1部所有员工信息

分析:查询军情1部设置到的是部门表,查询员工信息涉及到的员工表,需要对两张表进行操作

案例操作:
在这里插入图片描述

二、子查询

(一)单行子查询

单行子查询,将两张表的查询过程简化为两个步骤,首先执行子查询SQL语句得到唯一记录,将该记录作为条件进行查询,得到结果。
在这里插入图片描述

需求:查询杨志属于哪个部门

分析:杨志属于员工信息,但是查询部门需要在部门表中查询具体信息

案例操作:

在这里插入图片描述

(二)多行子查询

单行子查询的扩展,子查询返回多条记录数据,作为范围条件提供给外部查询执行。

需求:查询军委1部、军委2部、军委3部所有职员信息

分析:查询部门信息,得到部门编号,才能查询这些部门下所有的职员信息

案例操作:
在这里插入图片描述

三、连接查询(重点)

(一)内连接查询

多张表在交互过程中,会涉及到多张表的所有数据是否全部互相关联,如店铺表中所有的店铺都拥有商品,是否所有部门每个部门都拥有职员。
在这里插入图片描述

内连接查询是查询两张表或者多张表互相关联的数据,也就是公共属性在两张表中的交集。

案例操作:
在这里插入图片描述

(二)左外连接查询

左连接查询,以关键字左侧的数据表为标准进行查询,首先保证左侧数据表的内容全部查询得到的情况下,关联查询关键字右侧的数据表中的数据。

案例操作:

在这里插入图片描述

(三)右外连接查询

右外连接查询,是相对于左外连接查询,在查询过程中以关键字右侧数据表为标准进行查询,有限保证关键字右侧数据表的数据全部输出。

案例操作:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扁舟钓雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值