Sql 如何在确定行存在于一个表中时从两个表而不是一个表中获取行

Sql 如何在确定行存在于一个表中时从两个表而不是一个表中获取行,sql,mysql,database,command,Sql,Mysql,Database,Command,我在mysql数据库中有两个表。主键ID为5的行确定存在于1中,如果不存在则存在于2中 我如何通过在MySQL中发出命令来检索它们假定您的表具有相同的结构,您可以使用UNION ALL来执行此操作: SELECT col1, col2, col3 FROM table1 WHERE ID = 5 UNION ALL SELECT col1, col2, col3 FROM table2 WHERE ID = 5 LIMIT 1 你也可以考虑改变你的模式,这样你只有一个表,它有一个字段来存储它是

我在mysql数据库中有两个表。主键ID为5的行确定存在于1中,如果不存在则存在于2中


我如何通过在MySQL中发出命令来检索它们假定您的表具有相同的结构,您可以使用UNION ALL来执行此操作:

SELECT col1, col2, col3 FROM table1 WHERE ID = 5
UNION ALL
SELECT col1, col2, col3 FROM table2 WHERE ID = 5
LIMIT 1

你也可以考虑改变你的模式,这样你只有一个表,它有一个字段来存储它是第一类型还是第二类型。

同样:你可以使用AS子句来即时重命名列。返回数据的类型必须与每个select中的列匹配。