关联查询,子查询,连接查询
一、外键关联查询
多表查询操作,是在项目开发时使用较多的查询操作,这里以两张表的操作方式示例,更多表的操作再次基础上拓展即可。
两张表之间的公共字段就是外键,如职员表employee和部门表department之间就是通过不部门编号进行关联的。
需求:查询军情1部所有员工信息
分析:查询军情1部设置到的是部门表,查询员工信息涉及到的员工表,需要对两张表进行操作
案例操作:
二、子查询
(一)单行子查询
单行子查询,将两张表的查询过程简化为两个步骤,首先执行子查询SQL语句得到唯一记录,将该记录作为条件进行查询,得到结果。
需求:查询杨志属于哪个部门
分析:杨志属于员工信息,但是查询部门需要在部门表中查询具体信息
案例操作:
(二)多行子查询
单行子查询的扩展,子查询返回多条记录数据,作为范围条件提供给外部查询执行。
需求:查询军委1部、军委2部、军委3部所有职员信息
分析:查询部门信息,得到部门编号,才能查询这些部门下所有的职员信息
案例操作:
三、连接查询(重点)
(一)内连接查询
多张表在交互过程中,会涉及到多张表的所有数据是否全部互相关联,如店铺表中所有的店铺都拥有商品,是否所有部门每个部门都拥有职员。
内连接查询是查询两张表或者多张表互相关联的数据,也就是公共属性在两张表中的交集。
案例操作:
(二)左外连接查询
左连接查询,以关键字左侧的数据表为标准进行查询,首先保证左侧数据表的内容全部查询得到的情况下,关联查询关键字右侧的数据表中的数据。
案例操作:
(三)右外连接查询
右外连接查询,是相对于左外连接查询,在查询过程中以关键字右侧数据表为标准进行查询,有限保证关键字右侧数据表的数据全部输出。
案例操作: