SQL:从两个表中选择like列

时间:2008-09-04 17:03:25

标签: sql

我有一个包含两个表(Table1Table2)的数据库。它们都有一个共同的列[ColumnA],即nvarchar

如何从两个表中选择此列并将其作为结果集中的单个列返回?

所以我正在寻找类似的东西:

ColumnA in Table1:
a
b
c

ColumnA in Table2:
d
e
f

Result set should be:
a
b
c
d
e
f

8 个答案:

答案 0 :(得分:16)

SELECT ColumnA FROM Table1 UNION Select ColumnB FROM Table2 ORDER BY 1

此外,如果您知道Table1和Table2的内容将从不重叠,则可以使用UNION ALL代替UNION。以这种方式节省一点资源。

- Kevin Fairchild

答案 1 :(得分:3)

你是否关心你是否得到重复?

UNION将比UNION ALL慢,因为UNION将过滤掉重复

答案 2 :(得分:1)

使用UNION运算符:

SELECT ColumnA FROM Table1
UNION
SELECT ColumnA FROM Table2

答案 3 :(得分:1)

联合答案几乎正确,具体取决于重叠值:

SELECT distinct ColumnA FROM Table1
UNION
SELECT distinct ColumnA FROM Table2

如果表1中出现“d”或表2中出现“c”,则会有多行。

答案 4 :(得分:0)

您可以使用联合选择:

Select columnA from table1 union select columnA from table2 

答案 5 :(得分:0)

SELECT Table1.*, Table2.d, Table2.e, Table2.f 
FROM Table1 JOIN Table2 ON Table1.a = Table2.a

或者我误解了你的问题?

编辑:看来我做了。

答案 6 :(得分:0)

我相信它是:

SELECT columna FROM table1 UNION SELECT columnb FROM table2;

答案 7 :(得分:0)

在Oracle(至少)中有UNION和UNION ALL,UNION ALL将返回两个集合中的所有结果,即使有重复项,UNION将返回两个集合的不同结果。