读书人

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

发布时间: 2013-07-09 09:50:48 作者: rapoo

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

读书人网 >SQL Server

热点推荐