问题:集合A(1,2,3),集合B(a,b)相乘:A*B=C?
答:C((1,a),(2,a),(3,a),(1,b),(2,b),(3,b))
集合元素的特点:确定性,互异性,无序性
表与集合的关系:一张表就是一个集合,每一行就是一个元素(不考虑列)
疑问:表数据完全相同?答:mysql表内部还有一个rowid(行id)
从行的角度:每行两两组合
从列的角度:所有列相加(名字可重复)
示例:
两表全相乘
select * from tbname1,tbname2;
//如A表1000行,B表1000行,全相乘会在内存中临时生1000*1000行的大数据,
//另外,索引没利用
left join
select * from tbname1 a left join tbname2 b on a.col=b.col [后面还可使用left join on,where等];