我是靠谱客的博主 奋斗蜗牛,最近开发中收集的这篇文章主要介绍你的sql如何避免笛卡尔积笛卡尔积数学概念笛卡尔积在sql中是这样的   解决办法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

笛卡尔积数学概念

        笛卡尔积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

        笛卡尔积又叫笛卡尔乘积,是一个叫笛卡尔的人提出来的。 简单的说就是两个集合相乘的结果。 

        假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。


笛卡尔积在sql中是这样的

        我们对数据库表进行操作时,经常会对多张表进行关联,多表连接查询大家肯定不会陌生,但是一不小心很容易出来庞大冗余的数据。如下例所示:

        

   解决办法

        这样冗余的数据可不是我们想要,所以想要你的结果避免笛卡尔积,既要做到以下几点:

        1.关联范围在最小粒度的列。

        2.如果是三张表连接,并且是1:n:n的关系,就要先关联两张表,然后将两张表关联的结果与第三表在进行关联,这样就可以取得我们想要的结果啦!多张表同理!


最后

以上就是奋斗蜗牛为你收集整理的你的sql如何避免笛卡尔积笛卡尔积数学概念笛卡尔积在sql中是这样的   解决办法的全部内容,希望文章能够帮你解决你的sql如何避免笛卡尔积笛卡尔积数学概念笛卡尔积在sql中是这样的   解决办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部