文章目录
概念
连接的本质是把各个连接表中的记录都取出来依次匹配的组合加入结果集并返回给用户。
分类
内连接
- 驱动表中的记录在被驱动表中找不到匹配的记录,该记录不会加入到最后的结果集。
- 内连接中的where子句和on子句是等价的。
外连接
- 驱动表中的记录即使在被驱动表中没有匹配的记录,仍然需要加入到结果集。
- 左外连接
- 选择左侧的表为驱动表
- 右外连接
- 选取右侧的表为驱动表
内连接和外连接的根本区别是在驱动表中的记录不符合ON子句中的连接条件时不会把该记录加入到最后的结果集。
原理
嵌套循环连接
- 驱动表只访问一次,但被驱动表却可能被多次访问,访问次数取决于对驱动表执行单表查询后的结果集中的记录条数的连接执行方式称之为嵌套循环连接。