BigQuery数据库中的MINUS功能

时间:2014-06-27 10:33:51

标签: google-bigquery

我是 BigQuery 数据库的新手。

与Oracle数据库 MINUS 运算符一样,BigQuery中的功能是什么?我没有在BigQuery中找到MINUS运算符。

Oracle - >减
BigQuery - > ??

4 个答案:

答案 0 :(得分:3)

虽然BigQuery中没有MINUS功能,但您可以使用LEFT OUTER JOIN作为替代方案。

 SELECT name, uid FROM a
 MINUS
 SELECT name, uid FROM b

可以写成:

SELECT a.name, a.uid
FROM a LEFT OUTER JOIN b ON a.name= b.name AND a.uid= b.uid
WHERE b.name IS NULL

答案 1 :(得分:1)

with whole as
( select 1 as id, 'One' as value
  union all
  select 2 as id, 'Two' as value
  union all
  select 3 as id, 'Three' as value
  ),
  sub_set as
  (
   select 1 as id, 'One' as value
  union all
  select 2 as id, 'Two' as value
  )
  select * from whole
  except distinct
  select * from sub_set

结果为

    3 Three

引用:https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#except

我收到错误消息,不支持全部,DISTINCT工作。希望这会有所帮助。

答案 2 :(得分:0)

MINUS的StandardSQL输出,其中ID是表1和表2中的组合键或主键

  

与Vamsi Mohan的概念相同

Select ID, Name from Table 1
where ID not in (Select distinct ID in Table 2)

答案 3 :(得分:0)

BigQuery没有“ MINUS”,但在功能上确实具有“ EXCEPT DISTINCT”。