我可以想到两种在Google BigQuery中进行过滤的方法。 (假设Table2很小。)哪种过滤方法会更好,为什么呢?它取决于table1的大小吗?还是有另一种更好的方法?
SELECT
a.ID
FROM
table1 AS a
LEFT OUTER JOIN
table2 AS b
ON
a.ID = b.ID
WHERE
b.ID is NULL
要么
SELECT
ID
FROM
table1
WHERE
ID NOT IN (
SELECT
ID
FROM
table2)
最佳答案
第二个仅限于一个,只有一个字段可以被过滤。
首先可用于按多个字段进行过滤,如下所示
SELECT
a.ID
FROM
table1 AS a
LEFT OUTER JOIN
table2 AS b
ON
a.ID = b.ID AND a.Field2 = b.Field2 AND a.Field3 = b.Field3
WHERE
b.ID is NULL
关于google-bigquery - 使用LEFT OUTER JOIN或Anti-join的BigQuery过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927258/