mssql cross join关键字简介


mssql cross join关键字功能简介


cross join 的功能是将两个表进行笛卡尔积组合。

表1 有2条数据
表2 有3条数据
那么如果采用cross join 连接两张表 则会产生 2*3条数
—————————————————
依次类推
假如三张表采用cross join连接
表1 有2条数据
表2 有3条数据
表3 有2条数据
那么如果采用cross join 连接三张张表 则会产生 2*3*2条数
select * from 表1 cross join 表2 cross join 表3


mssql cross join举例应用

 /*建表并插入数据*/
create table A (keyId1 int,info1 varchar(10))
create table B (keyId2 int,info2 varchar(10))
go
insert into A values(1,'a'),(2,'b')
insert into B values(10,'a-a'),(20,'b-b'),(30,'c-c')
go
/*cross join连接两张表 得到的行数为A表行*/
select * from A cross join B  
go
/* full join 连接如果输入 条件1=1返回结果同cross join一致*/
select * from A full join B  on  1=1 
go
truncate table A;drop table A;
truncate table B;drop table B;