重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
所谓笛卡尔积,通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合.
宕昌网站建设公司创新互联公司,宕昌网站设计制作,有大型网站制作公司丰富经验。已为宕昌成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的宕昌做网站的公司定做!
举例子,假设R中有元组M个,S中有元组N个,则R和S的笛卡尔积中包含的元组数量就是M*N.这个规则可以向多个关系扩展.
上面的例子的笛卡尔积结果就是tj_angela给出的(ac,ad,bc,bd)
属于的含义就是R是d1*d2*……*dn子集,这里其实是相等的.
第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小
SELECT * FROM table1 CROSS JOIN table2
select a.*,b.* from table1 a ,table2 b
笛卡尔乘积是指在数学中,两个 集合 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)}。
类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。A表示所有声母的集合,B表示所有韵母的集合,那么A和B的笛卡尔积就为所
1.多表查询
注意:在实际运行环境下,应避免使用笛卡尔积
可以看到下面笛卡尔积不合理的地方
为了避免这种情况的发生,可以采用等值连接的方法
栗子1:
注意: