一、连接查询的分类
根据表的连接方式,连接查询分为内连接、外连接和全连接。
- 内连接:
- 等值连接
- 非等值连接
- 自连接
- 外连接:
- 左外连接(左连接)
- 右外连接(右连接)
- 全连接
二、笛卡尔积
交叉连接也被称为笛卡儿积(Cartesian Product),使用关键字 CROSS JOIN 表示。两个表的交叉连接将一个表的所有数据行和另一个表的所有数据行进行两两组合,返回结果的数量为两个表中的行数相乘。例如, 一个 100 行数据的表和一个 200 行数据的表进行交叉连接查询将会产生 20 000 行数据。交叉连接的原理如图 6.5 所示。
交叉连接使用的场景比较少,一般用于生 成大量测试数据。
注意:如果表中的数据量比较大,交叉连接可能会导致查询结果的数据 量急剧膨胀,从而引起性能问题。我们通常应该指定连接条件,避免产生交叉连接。