想取出a表的所有name 的数据和b表的name不等于a表name的数据
例如:
a表有字段 name b表也有字段 name
a表有name:张三 王五
b表有name:李四 张三
a,b两个表的字段个数不同。
最后取出的是:张三,李四,王五。
select a.name from a --取出a表的所有name 的数据
union
select b.name from b where b.name not in (select a.name from a) --b表的name不等于a表name的数据
用这个试试吧,应该就是你想要的
select a.name from a
union
select b.name from b
select * form a
union
select b.* from a,b where b.name != a.name;
a、b两个表的列有什么不同,你只需要name信息吗。
你的问题相当于把a、b两表的name信息union到一起然后去重。
select distinct name from (select a.name from a union select b.name from b);
如果是程序设计中,取出两张表,放到内存中,循环比较就好,至于算法很多了。。不建议用数据库复杂的写法。
如果你不是用程序设计,那么可以考虑在控制台用select语句实现。