SQL 如何查询两个表中不相同的数据

SQL 怎么查询两个表中不相同的数据A表名称容量价格百事可乐250ml1.5可口可乐250ml1.6雪碧250ml1.3百事可乐

SQL 怎么查询两个表中不相同的数据


A表

名称        容量     价格
百事可乐    250ml     1.5
可口可乐    250ml     1.6  
雪碧        250ml     1.3  
百事可乐    1L         4.5
怡宝        350ML     1
·······

B表

名称        容量     价格
百事可乐    250ml     1.5
可口可乐    250ml     1.6  
芬达        250ml     1.3  
百事可乐    1.5L      5.0
雪碧        250ml     1.3
·······

表出两个表名称和量不相同的数据

结果是
怡宝        350ML     1
芬达        250ml     1.3  
百事可乐    1.5L      5.0
·······
[解决办法]

select distinct *
from (select * from A union all select * from B) T

[解决办法]
SELECT *
FROM A
WHERE NOT EXISTS(SELECT 1 FROM B where A.名称=b.名称 AND A.容量=B.容量)
UNION ALL
SELECT *
FROM B
WHERE NOT EXISTS(SELECT 1 FROM A where A.名称=b.名称 AND A.容量=B.容量)

/*
名称容量价格
百事可乐1L4.5
怡宝350ML1.0
芬达250ml1.3
百事可乐1.5L5.0*/