两个表的判断对比怎么写
来源:百度知道 编辑:UC知道 时间:2024/06/20 05:26:46
有两个表,格式是一样的,表A里包含表B的数据,例如:
表A
姓名 编号
张三 1213
李四 1222
王五 1234
表B
姓名 编号
王五 1234
张三 1211
李六 1222
我想做个查询表B的数据,先对比编号,如果编号不同列出,如果编号相同再对比姓名,姓名不同的列出。
表A
姓名 编号
张三 1213
李四 1222
王五 1234
表B
姓名 编号
王五 1234
张三 1211
李六 1222
我想做个查询表B的数据,先对比编号,如果编号不同列出,如果编号相同再对比姓名,姓名不同的列出。
SELECT * FROM 表B WHERE NOT EXISTS(SELECT * FROM 表A WHERE 表A.编号=表B.编号 and 表A.姓名=表B.姓名)
or 编号 not in (select 编号 from 表A)
CREATE TABLE A
(
[name] varchar(10),
[id] int
)
GO
CREATE TABLE B
(
[name] varchar(10),
[id] int
)
GO
INSERT A
SELECT '张三', 1213 UNION
SELECT '李四', 1222 UNION
SELECT '王五', 1234
INSERT B
SELECT '王五', 1234 UNION
SELECT '张三', 1211 UNION
SELECT '李六', 1222
SELECT * FROM B AS TB WHERE NOT EXISTS(SELECT * FROM A AS TA WHERE TA.[ID]=TB.[id] AND TA.[NAME]=TB.[NAME])
select * from 表b where not exists(select * from 表a where 表a.编号=表b.编号 and 表a.姓名=表b.姓名);
UP!!