如何编写SQL查询合并两张表并去重显示所有客户姓名?
获取两张表中所有不重复客户姓名的SQL方案
嘿,这个需求很清晰,我来给你直接上解决方案!要提取两张表中所有不重复的客户姓名,最简洁高效的方式就是用UNION关键字——它天生就具备合并结果集并自动去重的能力,完美匹配你的需求。
具体SQL查询语句
SELECT Customername FROM Table1 UNION SELECT Customername FROM Table2;
为什么这个方案可行?
UNION会将两个SELECT语句的结果合并,并且自动剔除重复的记录。对比UNION ALL(仅合并不去重),这里用UNION正好省去了额外加DISTINCT的步骤,性能更优。- 针对你提供的表数据:
- Table1的客户姓名:roya, almudena, jack, jane, Francisco
- Table2的客户姓名:roya, jose, almudena, jane
执行上述查询后,会返回roya, almudena, jack, jane, Francisco, jose这6个不重复的姓名,完全符合预期。
补充说明
如果你的表中存在Customername为NULL的记录,UNION也会将所有NULL视为重复项,最终只保留一条,这也是符合常规需求的。
内容的提问来源于stack exchange,提问作者Abdul Rahmat
相关产品推荐
相关产品推荐

