课程
/数据库
/MySQL
/与MySQL的零距离接触
cross join 是笛卡尔乘积,在没有WHERE条件的限制下结果好像是不等价于inner join的
2015-05-19
源自:与MySQL的零距离接触 5-9
正在回答
笛卡尔积的效果是 select tb1_field1, tb1_field2, tb2_field1, tb2_field2 from tb1 , tb2
我也觉得,我们数据库书上有例子:inner join 相当于ab两个表取交集。
cross join 就是笛卡尔集,相当于A 的 M条数据,b的n条数据做笛卡尔,就是M*N 条数据。
必须 要添加限制条件l,例如where a.name = b.name 才会在有些时候和inner 的结果相同。
(cross 后面加的是where where a.name = b.name 不加 on,因为cross 加on从语法意思上说不过去的
------------inner 后面加的是 on b.name =b.name )
ps: 因为cross join 的数据太多一般很少用的
举报
本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识