我不确定它是否可行,但我想选择两个表格列的不同值。
将table1视为:
╔══════╗
║ col1 ║
╠══════╣
║ AAA ║
║ AAA ║
║ BBB ║
║ BBB ║
╚══════╝
和table2像:
╔══════╗
║ col1 ║
╠══════╣
║ AAA ║
║ BBB ║
║ CCC ║
║ CCC ║
╚══════╝
我想要的输出是:
AAA
BBB
CCC
显然是这样的:
SELECT DISTINCT table1.col1 , table2.col1 FROM table1 , table2;
没有工作。
答案 0 :(得分:4)
一个简单的UNION
会做技巧
SELECT col1 FROM table1
UNION
SELECT col1 FROM table2;
无需使用DISTINCT
关键字,因为UNION
已处理重复项。
如果您使用UNION ALL
,则不再处理重复项,那么您需要使用DISTINCT
。
答案 1 :(得分:2)
只需union
即可完成工作,因为它会过滤掉重复的记录。
SELECT col1 FROM table1 UNION SELECT col1 FROM table2
答案 2 :(得分:1)
我通常不会进行子查询,但我认为这是其中一次:
SELECT DISTINCT col1
FROM (SELECT col1 FROM table1 UNION SELECT col1 FROM table2)