1、mysql笛卡尔积

如图:我定义3张表(A、B、C)

mysql乘积是什么符号(mysql笛卡尔积)(1)

mysql乘积是什么符号(mysql笛卡尔积)(2)

执行如下sql,查看执行顺序是 a-->b-->c

mysql乘积是什么符号(mysql笛卡尔积)(3)

mysql乘积是什么符号(mysql笛卡尔积)(4)

此时我改变A和C表的数据个数

mysql乘积是什么符号(mysql笛卡尔积)(5)

mysql乘积是什么符号(mysql笛卡尔积)(6)

执行顺序变成了c-->b-->a

mysql乘积是什么符号(mysql笛卡尔积)(7)

mysql乘积是什么符号(mysql笛卡尔积)(8)

相同的sql,由于表数量的改变造成表的执行顺序不一致的原因是:笛卡尔积

mysql乘积是什么符号(mysql笛卡尔积)(9)

mysql乘积是什么符号(mysql笛卡尔积)(10)

2、子查询情况下,id值会不同

mysql乘积是什么符号(mysql笛卡尔积)(11)

mysql乘积是什么符号(mysql笛卡尔积)(12)

结论:

1、id值相同,从上往下 顺序执行,数据少的表优先执行,大的表后执行

2、id值不相同,id值越大越先执行

,