SQL中笛卡尔积有什么用
答案:5 悬赏:10 手机版
解决时间 2021-04-26 06:28
- 提问者网友:嗝是迷路的屁
- 2021-04-25 17:49
SQL中笛卡尔积有什么用
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-04-25 19:01
某些情况下,用于 寻找连续日期中残缺的数据 的时候,可以先笛卡尔积做一个排列组合。然后和目标表进行关联,查找哪些数据缺少了。
例如有个考勤记录表,记录着100个人的2011年4月的考勤信息,理论上这些人应该每天都有记录的。
但是实际上某些人在某些天上面的数据,缺少了。
一天一天的查询,还是一个人一个人的查询,都有些麻烦。
这种情况下,可以针对 每个人 与 每一天 做一个 笛卡尔积 的处理。
然后与实际的表去关联。就很容易查询出结果了。
例如有个考勤记录表,记录着100个人的2011年4月的考勤信息,理论上这些人应该每天都有记录的。
但是实际上某些人在某些天上面的数据,缺少了。
一天一天的查询,还是一个人一个人的查询,都有些麻烦。
这种情况下,可以针对 每个人 与 每一天 做一个 笛卡尔积 的处理。
然后与实际的表去关联。就很容易查询出结果了。
全部回答
- 1楼网友:猎心人
- 2021-04-25 21:28
笛卡尔积是一个概念,真正有意义的数据都是笛卡尔积的子集.但是首先需要理解笛卡尔积,然后才有可能理解子集的作用.
- 2楼网友:上分大魔王
- 2021-04-25 21:12
select * from 表1,表2, 就是 表1,表2的笛卡尔积
- 3楼网友:酒安江南
- 2021-04-25 20:00
刚有了一个和你一样的问题,不知道笛卡尔积是干什么的?研究了一下。觉得是笛卡尔积在sql中进行表连接时,能起到筛选数据的作用。例如
USE AdventureWorks;
GOSELECt p.SalesPersonID, t.Name AS TerritoryFROM Sales.SalesPerson pCROSS JOIN Sales.SalesTerritory tWHERe p.TerritoryID = t.TerritoryIDORDER BY p.SalesPersonID;当两个表中有相同的列名时,先对这两个表做笛卡尔积,然后可以根据此列的值相等来筛选数据。
USE AdventureWorks;
GOSELECt p.SalesPersonID, t.Name AS TerritoryFROM Sales.SalesPerson pCROSS JOIN Sales.SalesTerritory tWHERe p.TerritoryID = t.TerritoryIDORDER BY p.SalesPersonID;当两个表中有相同的列名时,先对这两个表做笛卡尔积,然后可以根据此列的值相等来筛选数据。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯