我有两个列相似的表。我只想一个接一个地选择两个表,这样如果我在table1上有'x'行,在table2上有'y'行,我会得到'x + y'行。
答案 0 :(得分:6)
您可以使用UNION [ALL]
。这些表不需要具有相同的列名,但您需要从每个列中选择相同数量的列,并且相应的列必须是兼容的数据类型
SELECT col1,col2,col3 FROM table1
UNION ALL
SELECT col1,col2,col3 FROM table2
UNION ALL
比UNION
更适合选择,因为它可以避免排序操作来摆脱重复。
答案 1 :(得分:4)
只是添加他们所说的内容,您可能想添加一个Order By。取决于您正在使用的SQL版本。
SELECT Col1, Col2, Col3
FROM Table1
UNION
SELECT Col1, Col2, Col3
FROM Table2
ORDER BY Col1
请注意,ORDER和GROUP BY必须在UNION的最后一个表之后。
答案 2 :(得分:2)
select col1,col2,col3 from table1
union
select col1,col2,col3 from table2
答案 3 :(得分:1)
查看Union运算符。