直接查询三个表的有关问题 sql语句!求解

直接查询三个表的问题 sql语句!求解
有三个表 A ,B ,C  每个表都有相同的字段  a ,b,c,我想查询出 A B C 三个表中 的 字段a >0, 的所有数据。
------解决思路----------------------
--方法1,这样应该速度快点
SELECT * FROM A WHERE a>0
UNION ALL
SELECT * FROM B WHERE a>0
UNION ALL
SELECT * FROM C WHERE a>0

--方法2,这样条件只需要写一次~~
SELECT * FROM(
SELECT * FROM A
UNION
SELECT * FROM B
UNION
SELECT * FROM C
)T WHERE a>0

------解决思路----------------------
SELECT * FROM A WHERE a>0
UNION ALL
SELECT * FROM B WHERE a>0
UNION ALL
SELECT * FROM C WHERE a>0
最个比较好
------解决思路----------------------
2楼的就可以