关于几道Sql笔试题

id:  sname:姓名     smoney :业绩     sprovince:地区

id   sname      smoney    sprovince
1    zhangsan   2098      A
2    lisi       3000      B
3    wangwu     6789      C
4    liumazi    4587      C
5    dongjiu    3298      B
6    shiga      4567      A

第一道:显示出  业绩 大于同一地区平均值的 合同id  姓名 地区 业绩

第二道:把同一地区的  平均业绩 地区 插入到新表中 (新表只包含两个字段即:平均业绩 地区)

第三道:

年份(year)   工资(salary)
2000           1000
2001           2000
2002           3000
2003           4000

查出来
年份          工资
2000          1000
2001          3000
2002          6000
2003          10000

用sql怎么写

问题一
select id ,sname, sprovince,smoney from Table a,(select sprovince ,avg(smoney) avg from Table group by sprovince) b
where a.smoney>b.avg and  a.sprovince=b.sprovince

问题二
解法一 select sprovince ,avg(smoney) avg into AvgTable from Table group by sprovince

解法二 create Table AvgTable from (select sprovince ,avg(smoney) avg from Table group by sprovince )


问题三

select year, (select sum(salary) from Table a where a.year<=b.year)
from Table b
order by year asc

猜你喜欢

转载自clz2008wan.iteye.com/blog/1840169