SQL 笛卡尔积
/*=======================================
Description:
用SQL实现笛卡尔积
Author: CC
date: 2011.11.03
=======================================*/
USE Test
GO
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 行受影响)