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*/