我是 BigQuery 数据库的新手。
与Oracle数据库 MINUS 运算符一样,BigQuery中的功能是什么?我没有在BigQuery中找到MINUS运算符。
Oracle - >减
BigQuery - > ??
答案 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”。