多表连接查询的老有关问题

多表连接查询的老问题!
有四个表,表t1(id,name,yuwen)
  表t2(id,name,shuxue)
  表t3(id,name,yingyu)
  表t4(id,name,lishi)
每个表本身的id和name是唯一的,每个表的记录数是不一定相等的(即同一个id在t1中存在,但在其他表中可能存在,也可能不存在)!
现在要求查询出这样的结果(id,name,yuwen,shuxue,yingyu,lishi),其中id为四个表中所有的id。

请大侠帮忙,谢谢!

------解决方案--------------------
方法一;
SQL code
select a.id,a.name,t1.yuwen,t2.shuxue,t3.yingyu,t4.lishi
from 
((((select distinct id,name from 
    (select id from t1 union all
    select id from t2 union all
    select id from t3 union all
    select id from t4 ) t
) a left join t1 on a.id=t1.id)
left join t2 on a.id=t2.id)
left join t3 on a.id=t3.id)
left join t4 on a.id=t4.id;