现在的位置: 首页 > 综合 > 正文

SQL 笛卡尔积

2012年05月15日 ⁄ 综合 ⁄ 共 1775字 ⁄ 字号 评论关闭
/*=======================================
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 行受影响)

抱歉!评论已关闭.