规则:行相乘,列相加
/*=======================================
Description:
用SQL实现笛卡尔积
=======================================*/
SELECT * FROM l; --如下图l
SELECT * FROM m; --如下图m
--交叉连接实现,lm
SELECT * FROM l CROSS JOIN m;
l表
lid name
----------- --------------------
101 北京
102 太原
101 NULL
102 NULL
(4 行受影响)
m表
matid qty lid mname
----------- ----------- ----------- --------------------
10011 1 101 北京
20012 1 102 太原
10011 1 102 太原
10011 1 102 太原
lm:
lid name matid qty lid mname
----------- -------------------- ----------- ----------- ----------- --------------------
101 北京 10011 1 101 北京
102 太原 10011 1 101 北京
101 NULL 10011 1 101 北京
102 NULL 10011 1 101 北京
101 北京 20012 1 102 太原
102 太原 20012 1 102 太原
101 NULL 20012 1 102 太原
102 NULL 20012 1 102 太原
101 北京 10011 1 102 太原
102 太原 10011 1 102 太原
101 NULL 10011 1 102 太原
102 NULL 10011 1 102 太原
101 北京 10011 1 102 太原
102 太原 10011 1 102 太原
101 NULL 10011 1 102 太原
102 NULL 10011 1 102 太原
(16 行受影响)
笛卡尔积
这篇博客介绍了如何使用SQL进行笛卡尔积的操作,通过交叉连接(CROSS JOIN)实现了两个表的数据结合,展示了具体的数据实例,包括l表和m表的数据,以及交叉连接后的结果lm,详细解释了每个字段的含义和连接方式。
1095

被折叠的 条评论
为什么被折叠?



