我有两个拥有相似列的表格。我想简单地选择这两个表格,一个接一个地,这样如果table1有'x'行,table2有'y'行,我将得到'x + y'行。
我有两个拥有相似列的表格。我想简单地选择这两个表格,一个接一个地,这样如果table1有'x'行,table2有'y'行,我将得到'x + y'行。
UNION [ALL]
来实现此操作。表不需要具有相同的列名,但您需要从每个表中选择相同数量的列,并且相应的列需要具有兼容的数据类型。SELECT col1,col2,col3 FROM table1
UNION ALL
SELECT col1,col2,col3 FROM table2
UNION ALL
比UNION
更可取,因为它可以避免进行排序操作以消除重复项。
补充一下他们所说的,你可能需要添加一个Order By。这取决于你使用的SQL版本。
SELECT Col1, Col2, Col3
FROM Table1
UNION
SELECT Col1, Col2, Col3
FROM Table2
ORDER BY Col1
select col1,col2,col3 from table1
union
select col1,col2,col3 from table2
UNION ALL
。UNION
会消除重复项。 - Raj More
UNION
会删除重复数据——而UNION ALL
不会删除,因此更快。 - OMG Ponies