22,210
社区成员
发帖
与我相关
我的任务
分享
create table 语文成绩
(sname varchar(10),score int)
insert into 语文成绩
select '张三',98 union all
select '李四',96
create table 数学成绩
(sname varchar(10),score int)
insert into 数学成绩
select '张三',78 union all
select '王五',82
select isnull(a.sname,b.sname) 'sname',
a.score 'yuwen',
b.score 'shuxue'
from 语文成绩 a
full join 数学成绩 b on a.sname=b.sname
/*
sname yuwen shuxue
---------- ----------- -----------
张三 98 78
李四 96 NULL
王五 NULL 82
(3 row(s) affected)
*/
select name,sum(YuWen) as YuWen,Sum(ShuXue) as ShuXue from (
select name,YuWen, null as ShuXue from 语文成绩
union all
select name,null as YuWen, ShuXue from 数学成绩
) as a
group by name
select a.name ,b.成绩 ,c.成绩
((select name from 数学 union select name from 语文) a left join 语文 b on a.name=b.name) left join 数学 c a.name=c.name