多表查询有关问题

多表查询问题?
有多个表,每表都有姓名字段。现想把每个表的姓名取出来(剔除重复姓名),我的代码如下,有没有更简洁的和效率高方法(表比较多而且表的记录数据也大)?谢谢!
select   姓名
from  
(SELECT   姓名  
FROM   a  
group   by   姓名
Union   All  
SELECT   姓名  
FROM   b  
group   by   姓名
Union   All  
SELECT   姓名  
FROM   c    
group   by   姓名
.............)   x
group   by   姓名


------解决方案--------------------
--去掉重复值
select * from A
union
select * from B

--含有重复值
select * from A
union all
select * from B


SELECT 姓名
FROM a
group by 姓名
Union
SELECT 姓名
FROM b
group by 姓名
Union
SELECT 姓名
FROM c
group by 姓名