挺基础的。只不过,我荒废了好长时间都忘得差不多了大伙给做一下。帮我复习sql了。
Department表
deptno     name
101        commerce
102        ITEmployee表
empno     salary
1         2000
2         5000
3         1000
4         6000dept_emp表 
deptno     empno
101        10
101        30
102        20
102        401 选出列表 empNo, salary, deptName
2 选出每个部门的最低工资
3 选出每个部门的工资总和
4 选出工资总和大于4000的部门

解决方案 »

  1.   

    1 select b.empNo, b.salary,a.name deptName from Department a ,Employee b ,dept_emp c where a.deptno=c.deptno and b.empno=c.empno
    2 select min(b.salary) ,a.name deptName from Department a ,Employee b ,dept_emp c where a.deptno=c.deptno and b.empno=c.empno group by a.name
    3 select sum(b.salary) ,a.name deptName from Department a ,Employee b ,dept_emp c where a.deptno=c.deptno and b.empno=c.empno group by a.name
    4 select sum(b.salary) ,a.name deptName from Department a ,Employee b ,dept_emp c where a.deptno=c.deptno and b.empno=c.empno group by a.name having sum(b.salary)>4000
      

  2.   


    --选出列表 empNo, salary, deptName
    select b.empno as empNo,b.salary,c.name as deptName from dept_emp a left join Employee b on a.empno=b.empno left join Department c on a.deptno=c.deptno--选出每个部门的最低工资
    select deptName,min(salary) as salary from (select b.empno as empNo,b.salary,c.name as deptName from dept_emp a left join Employee b on a.empno=b.empno left join Department c on a.deptno=c.deptno) b group by deptName--选出每个部门的工资总和
    select deptName,sum(salary) as salary from (select b.empno as empNo,b.salary,c.name as deptName from dept_emp a left join Employee b on a.empno=b.empno left join Department c on a.deptno=c.deptno) b group by deptName--选出工资总和大于4000的部门
    select deptName from (select b.empno as empNo,b.salary,c.name as deptName from dept_emp a left join Employee b on a.empno=b.empno left join Department c on a.deptno=c.deptno) b group by deptName having sum(salary) > 4000
      

  3.   

    String test="我来试试看!";