MySQL以优先顺序合并两个表

MySQL以优先顺序合并两个表,mysql,sql,select,join,Mysql,Sql,Select,Join,在MySQL数据库中,我有两个表,其中包含以下示例数据。表键是变量_id 表1 **variable_id** **release_id** 3 10 5 10 **变量id****发布id** 3 10 5 10 表2 **variable_id** **release_id** 1 01 2

在MySQL数据库中,我有两个表,其中包含以下示例数据。表键是变量_id

表1

**variable_id** **release_id** 3 10 5 10 **变量id****发布id** 3 10 5 10 表2

**variable_id** **release_id** 1 01 2 15 3 15 4 20 5 25 **变量id****发布id** 1 01 2 15 3 15 4 20 5 25 我希望能够合并这两个表,表1中的行优先于表2中的行

结果集应为:

**variable_id** **release_id** 1 01 2 15 3 10 4 20 5 10 **变量id****发布id** 1 01 2 15 3 10 4 20 5 10
请帮助我使用MySQL SQL来完成这项工作。我尝试对左联接和右联接进行并集,但没有成功。

您可以从
表1
中获取行,然后
将所有行并集
表2
中获取额外的行。笨重,但应该完成工作:

SELECT *
FROM   table_1
UNION ALL
SELECT *
FROM   table_2
WHERE  variable_id NOT IN (SELECT variable_id FROM table_1)

只要表_1中的变量_id是null@DrewOP表示“表键是变量\ id”。我假设这意味着主键,根据定义,它不能是
null
SELECT table_2.variable_id, 
       IFNULL(table_1.release_id, table_2.release_id) release_id
FROM table_2 
LEFT JOIN table_1 
ON table_2.variable_id = table_1.variable_id