外连接定义
不但返回满足连接条件的所有记录,而且会返回部分不满足条件的记录
分类
- 左外连接
不但返回满足条件的所有记录,而且会返回左表不满足连接条件的记录 - 右外连接
不但返回满足条件的所有记录,而且会返回右表不满足连接条件的记录 完全连接
结果集包含3个部分:- 两个表中匹配的所有行记录
- 左表中那些在右表中找不到匹配行的记录,这些记录的右边全是null
- 右表中那些在左表中找不到匹配行的记录,这些记录的左边全是null
左外连接的实际意义
返回一个事物及其该事物的相关信息,如果该事物没有相关信息,则输出null
例子
已知条件:
- productStocks货物库存表,orderform订单表
- pID是产品编号
- sql语句
select * from productStocks p
left join orderform o
on p.pID = o.pID
- 实际意义
返回仓库中现存货物的信息及其该货物的订单信息,如果该货物没有订单信息,则把该货物的订单信息全部输出为null
右外连接的实际意义
与做外连接一样,就不过多阐述了
交叉连接
select * from emp cross join dept
--等价于
select * from emp,dept
自连接
自连接,顾名思义就是自己跟自己连接,使用方法类似于内连接,内连接是A表和B表通过某种条件关系连接起来,自连接就想当于把内连接的B表换成A表而已