两个表的判断对比怎么写

来源:百度知道 编辑:UC知道 时间:2024/06/20 05:26:46
有两个表,格式是一样的,表A里包含表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!!