什么情况下容易出现笛卡尔积 SQL中笛卡尔积有什么用?

[更新]
·
·
分类:行业
3630 阅读

什么情况下容易出现笛卡尔积

SQL中笛卡尔积有什么用?

SQL中笛卡尔积有什么用?

某些情况下,用于 寻找连续日期中残缺的数据 的时候,可以先笛卡尔积做一个排列组合。然后和目标表进行关联,查找哪些数据缺少了。
例如有个考勤记录表,记录着100个人的2011年4月的考勤信息,理论上这些人应该每天都有记录的。
但是实际上某些人在某些天上面的数据,缺少了。
一天一天的查询,还是一个人一个人的查询,都有些麻烦。
这种情况下,可以针对 每个人 与 每一天 做一个 笛卡尔积 的处理。
然后与实际的表去关联。就很容易查询出结果了。

笛卡尔积是什么意思?

假设2张表,笛卡尔积就是2张表的所有记录的排列组合,比如: select * from 表1,表2, 就是 表1,表2的笛卡尔积。但是,实际情况中,真正使用的都是它的子集(即2表是有关联条件的),只有在极特殊的情况下才会用笛卡尔积

左链接会有笛卡尔现象吗?

消除笛卡尔乘积最根本的原因不是在于连接,而是在于唯一ID,就像学号,一个学生就只有一个学号,学号就是这个学生的唯一标识码。
左连接只是以左边的表为基准,左边的ID和右边ID都是唯一,就不会产生笛卡尔现象,如果右边有两个ID对应左边一个ID,就算你是左连接,一样会产生1对多的现象。

不等式的传递性定义?

不等式的传递性可视为一条公理,其中符号<可严格定义为实数集上的一个二元关系。
设R为实数集,a∈R∧b∈R,与横轴指向相反的一侧为左侧,则当点(a, 0)的横坐标位于点(b, 0)的左侧时,称前者与后者之间为小于关系,记为a<b,即:
“<”{<a, b>|a∈R, b∈R, a≠b,a≯b},
也即“<”R2,R2为R上的笛卡尔积。
由此可见,符号<是笛卡尔积R2的一个子集;作为形式化公理,不等式的传递性可来自对点的坐标位置的直观归纳。

什么是笛卡尔积?笛卡尔积是什么意思?

笛卡尔(Descartes)乘积又叫直积。假设集合A{a,b},集合B{0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。