如何 select 两个表的不同值?
How can I select the distinct value of two tables?
我不确定是否可行,但我想 select 两个表列的不同值。
像这样考虑表 1:
╔══════╗
║ col1 ║
╠══════╣
║ AAA ║
║ AAA ║
║ BBB ║
║ BBB ║
╚══════╝
和 table2 喜欢:
╔══════╗
║ col1 ║
╠══════╣
║ AAA ║
║ BBB ║
║ CCC ║
║ CCC ║
╚══════╝
我想要的输出是:
AAA
BBB
CCC
显然是这样的:
SELECT DISTINCT table1.col1 , table2.col1 FROM table1 , table2;
不行。
我通常不进行子查询,但我认为这是其中一次:
SELECT DISTINCT col1
FROM (SELECT col1 FROM table1 UNION SELECT col1 FROM table2)
只需 union
即可,因为它会过滤掉重复的记录。
SELECT col1 FROM table1 UNION SELECT col1 FROM table2
一个简单的 UNION
就可以解决问题
SELECT col1 FROM table1
UNION
SELECT col1 FROM table2;
不需要使用 DISTINCT
关键字,因为 UNION
已经处理了重复项。
仅供参考,如果您使用 UNION ALL
将不再处理重复项,那么您需要使用 DISTINCT
。
我不确定是否可行,但我想 select 两个表列的不同值。
像这样考虑表 1:
╔══════╗
║ col1 ║
╠══════╣
║ AAA ║
║ AAA ║
║ BBB ║
║ BBB ║
╚══════╝
和 table2 喜欢:
╔══════╗
║ col1 ║
╠══════╣
║ AAA ║
║ BBB ║
║ CCC ║
║ CCC ║
╚══════╝
我想要的输出是:
AAA
BBB
CCC
显然是这样的:
SELECT DISTINCT table1.col1 , table2.col1 FROM table1 , table2;
不行。
我通常不进行子查询,但我认为这是其中一次:
SELECT DISTINCT col1
FROM (SELECT col1 FROM table1 UNION SELECT col1 FROM table2)
只需 union
即可,因为它会过滤掉重复的记录。
SELECT col1 FROM table1 UNION SELECT col1 FROM table2
一个简单的 UNION
就可以解决问题
SELECT col1 FROM table1
UNION
SELECT col1 FROM table2;
不需要使用 DISTINCT
关键字,因为 UNION
已经处理了重复项。
仅供参考,如果您使用 UNION ALL
将不再处理重复项,那么您需要使用 DISTINCT
。