请问:在两个表中都有id和name字段,欲显示出
不同(id或name内容不同)的记录,如何用SQL语言
表达?本人用select table1.id,table1.name from
table1,table2 where table1.id<>table2.id and
table1.name<>table2.name语句无法做到。
...全文
28311打赏收藏
请教SQL 问题!
请问:在两个表中都有id和name字段,欲显示出 不同(id或name内容不同)的记录,如何用SQL语言 表达?本人用select table1.id,table1.name from table1,table2 where table1.idtable2.id and table1.nametable2.name语句无法做到。
SELECT id,name
FROM table1 where (id,name) not in( select id, name from table2)
UNION
SELECT id,name
FROM table2 where (Id, name) not in( select id, name from table1)
是这种效果吗?
SELECT id, name from Table1, Table2
WHERE (Table1.id = Table2.id AND Table1.name <> Table2.name)
OR (Table1.name = Table2.name AND Table1.id <> Table2.id)
select table1.id,table1.name from table1
where not exists (select * from table2 where table1.id+table1.name = table2.id + table2.name)
union
select table2.id,table2.name from table2
where not exists (select * from table1 where table1.id+table1.name = table2.id + table2.name)
如果你想找table1的不同数据
SELECT a1.id, a1.name
FROM table1 a1, table2 a2
WHERE a1.id <> a2.id
UNION
SELECT a1.id, a1.name
FROM table1 a1
WHERE a1.name <> a2.name