- 1.概念
百度百科:
笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员
百度百科有点绕,定义自己解释自己,意思大概是这个意思,可以简单理解成两个集合的乘积
2.sql笛卡尔积语法select*fromtable1,table2
其中table1和table2 分别表示两个表的表名
示例:
2.1 表1有2条数据2.2 表2有3条数据2.3 笛卡尔积有6条数据3.sql中的应用从行和列两个维度来观察上例笛卡尔积的结果集可以发现,
结果集的行是表1的行数乘表2的行数(2x3)
结果集的列是表1的列加表2的列(3+4)
3.1 高中数学集合中有介绍交集、并集、差集、笛卡尔积,一个sql语句可以理解成一个结果集,多个表的关联查询底层实际上是数学中集合和集合的关系。
进一步可以发现笛卡尔积和内连接的sql语句可以相互转化,这对我们理解内连接的本质和笛卡尔积的查询条件很重要
内连接也可以得到2.3笛卡尔积的结果
3.2 笛卡尔积加查询条件
转化成内连接查询
上一篇:怎么用mysql自带的定时器定时执行sql
下一篇:Mysql逗号拼接字符串的关联查询及统计问题怎么解决
sql









