Mysql:合并两个具有重叠唯一列的相似表

Mysql: Merging two similar tables with overlapping unique columns

我已经编译了两个 table 来自不同来源(A 和 B)的植物名称,我想将它们合并到第三个 table (C) 中。 Table A 和 B 都使用物种名称作为唯一值,并且还包含荷兰名称。像这样:

SPECIES           | DUTCH NAME
Ligustrum vulgare | Wilde liguster
Linaria vulgaris  | Vlasbekje
Linnaea borealis  | Linnaeusklokje  

我想合并这些table,但是它们有很多共同的物种。我想让 A 优先于 B,并且只有在 B 有 A 缺少的物种时才添加到 A。但是,如果 A 中的物种没有荷兰语名称,那么我想添加 B 中的荷兰语名称(如果可用)。新 table 中的物种列也设置为唯一。

我敢打赌这需要用 UNION 来完成,我确实四处寻找示例,但我想我有点太脑残了,无法理解它。我应该怎么办? 提前致谢!

INSERT INTO c (species, dutch)
SELECT species, COALESCE(a.dutch, b.dutch)
FROM ( SELECT species FROM a
       UNION 
       SELECT species FROM b ) AS all_species
LEFT JOIN a USING (species)
LEFT JOIN b USING (species);

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=7f2dea9f56071c4dc0dd9abc93360624