解释SQL中的UNION运算符是如何工作的

解释SQL中的UNION运算符是如何工作的,sql,Sql,我知道union将删除重复项,但是所有列是否应该具有相同的值,或者任何一列是否可以具有相同的值 CusID Country Value ----------------------- 1 India 1000 2 US 2000 3 SA 4000 ID Country Value ---------------------- 1 SA 500 2 US 200

我知道union将删除重复项,但是所有列是否应该具有相同的值,或者任何一列是否可以具有相同的值

CusID   Country   Value
-----------------------
  1     India     1000
  2     US        2000
  3     SA        4000


ID    Country  Value 
----------------------
 1    SA        500
 2    US       2000
 4    RS       1000
代码:

是否删除CusID=1

是否删除CusID=1

不,它不会移除它

UNION操作符通过查看SELECT列表中的所有列来检查重复项,就像DISTINCT一样。对于CusID=1,列“国家/地区”和“值”中的值不同,因此行不符合重复的条件


但是,CusID=2的行只会在结果中显示一次,因为这是重复的,所有列的值都相同。

您没有尝试过吗?它是否会删除CusID=1?在发布之前执行时发生了什么?
SELECT * FROM table1
UNION
SELECT * FROM table2