问题
I need the hive syntax for this equivalent in ansi sql
insert into tablea
(id)
select id
from tableb
where id not in (select id from tablea)
so tablea contains no duplicates and only new ids from tableb are inserted.
回答1:
Use left outer join with a filter that the tableA.id is null:
insert overwrite into tableA (id)
select b.id from tableB b left outer join tableA a
on a.id = b.id
where a.id is null
来源:https://stackoverflow.com/questions/20951703/insert-into-where-not-exists-in-hive