cross join

语法

cj(leftTable, rightTable)

参数

leftTablerightTable 是连接的表。

兼容 SQL 的语法

select column_name(s)
from leftTable cross join rightTable

详情

交叉连接函数返回两张表的笛卡尔积的结果集。如果左表有n行,右表有m行,那么笛卡尔积结果集含有n*m行。

例子

a = table(2010 2011 2012 as year)
b = table(`IBM`C`AAPL as Ticker);
a;

year

2010

2011

2012

b;

Ticker

IBM

C

AAPL

cj(a,b);

year

Ticker

2010

IBM

2010

C

2010

AAPL

2011

IBM

2011

C

2011

AAPL

2012

IBM

2012

C

2012

AAPL

select * from cj(a,b) where year>2010;
// 等价于 select * from a cross join b where year>2010

year

Ticker

2011

IBM

2011

C

2011

AAPL

2012

IBM

2012

C

2012

AAPL

相反, join(<-) 只是简单地合并两张表的列。

join(a,b);

year

Ticker

2010

IBM

2011

C

2012

AAPL