SQL 中的笛卡尔积爆炸💥
· 4 min read
笛卡尔积
首先,要了解笛卡尔积爆炸就得先了解什么是笛卡尔积
笛卡尔积就是把一个表中的每条数据都和另一个 表中的每条数据组合,形成一个新的表
y
↑
| (a1,b3) (a2,b3) (a3,b3)
| ●──────────●──────────●
| | | |
| | | |
| | | |
| ●──────────●──────────●
| (a1,b2) (a2,b2) (a3,b2)
| | | |
| | | |
| | | |
| ●──────────●──────────●
| (a1,b1) (a2,b1) (a3,b1)
+──────────────────────────────────→ x
好了现在你知道笛卡尔积了,来写个 800 多行的多表查询吧( bush
sql 中实现笛卡尔积
如果想在 SQL 中实现笛卡尔积,其实很简单
使用 INNER JOIN 就可以把两张表联合起来
SELECT *
FROM A
INNER JOIN B
这是最简单的方式,不加任何的连接条件。但一般进行多表查询肯定不会是单纯的连接起来,一定会有几个连接条件来查询想要的数据
SELECT *
FROM A
INNER JOIN B
ON A.NAME = B.NAME
WHERE .....
