Вы можете увидеть разницу между двумя таблицами так:
SELECT * FROM tableFoo
ВЛЕВО СОЕДИНЯЕТ tableBar ON tableFoo.commonColumn = tableBar.commonColumn
ГДЕ tableBar.commonColumn is NULL
Идея состоит в том, что обе таблицы имеют сопоставляемый столбец, и записи, которые объединяются, когда столбец равен нулю, являются записями, которые присутствуют только в tableBar.
Причина, по которой это работает, заключается в том, что левые объединения возвращают записи, даже если одна из таблиц имеет нулевые значения, в отличие от внутреннего соединения, которое делает обратное.
После того, как вы получите эти записи, вы можете вставить их на основе возвращенных идентификаторов.