SQL从几个表中选择并输出到多个表

时间:2017-08-18 09:33:11

标签: sql oracle select

我有几个表,其中大多数包含不同的ID列,并且大多数表都有一个包含日期的附加列。 现在我需要从所有表中检索所有ID及其对应日期。 有没有办法一次性输出所有表中的所有ID和日期而不创建重复项?

1 个答案:

答案 0 :(得分:1)

您可以使用UNION ALL组合多个查询:

SELECT 'table_a' source, table_a_id id, creation_date FROM table_a
UNION ALL
SELECT 'table_b' source, table_b_id id, creation_date FROM table_b
UNION ALL
SELECT 'table_c' source, table_c_id id, creation_date FROM table_c;

如果您需要删除重复的行,则可以使用UNION代替UNION ALL,但会牺牲一些性能。