在我连接两个表之后我需要一个样本,例如:
SELECT *
from
A left join B
on A.col=B.col
sample 1000000
问题是A和B是巨大的(超过30亿行),当我尝试连接时,我用完了假脱机空间.
有没有办法在样本之后进行连接,以便它连接较小的表(例如从A和B中选择10,000,000个样本,内部连接它们,并从连接中选择1,000,000,希望我至少获得1,000,000行?)
附:
我正在使用teradata
最佳答案 您可以按照建议执行操作,在派生表中应用SAMPLE:
SELECT *
from
(
SELECT * FROM A
SAMPLE 10000000
) AS A
left join B
on A.col=B.col
类似于内部联接
SELECT *
from
(
SELECT * FROM A
SAMPLE 100000000 -- larger sample than needed
) AS A
join B
on A.col=B.col
sample 10000000