select studentname, Subjectname from Student ,subject
当查询这两张表的时候,结果可以是一张表中的数据条数乘以另一张表中的数据条数
笛卡尔积,又叫cross join,是SQL中两表连接的一种方式。
笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合,上图中两个表连接即为笛卡尔积(交叉连接)
在实际应用中,笛卡尔积本身大多没有什么实际用处,只有在两个表连接时加上限制条件
2.笛卡尔积产生原因
3.产生笛卡尔积的解决方案
由于ORACLE判断作笛卡尔积,说明两表关联,至少有一张表是小表,查看执行计划的基数 这个指数如果与实际相同,则建议不作优化修改即可。
如果查看执行计划的基数与实际基数不同,则由可能是oracle数据误判表的基数,则可采用hint方式,改变SQL的执行过程。