有dept emp job 表 
dept表中有一个manager_id字段 其他字段记不清了1 查 各部门人数和平均工资
2 查 不同部门不同工种的平均工资
3 查 没有经理的部门

解决方案 »

  1.   

    贴数据是王道
    第一个最简单,按部门分组求count,avg
    第二个是不是写错了
      

  2.   

    至少要告诉我们一些表结构,如果没有经理的部门,没有表结构不懂如果加条件!
    主要用到就是count() avg()的函数应用!
      

  3.   

    是count() avg()的函数应用呀 可是我都不会写 郁闷没有经理的部门那个 是不是要用到 dept表中的manager_id字段???具体怎么写么把握所以才提问的表结构 
    emp包括salary eid 
    dept包括did manager_id
    job指的就是部门中的各个工种   第二个没错呀那个面试题给的是一个ER图 job-dept-emp 相互关联各位把这三个语句写清楚些呀 我菜呀~~~~~
      

  4.   

    另外问一下sql语句怎么提高呀??看什么书我只装了一个mysql 用不用再装个oracle?????
      

  5.   

    emp表应该还包括did吧,每个人应该有部门ID的啊如果部门名称在dept表的,假设dept_name,EMP中有DIDselect  d.dept_name,count(*) 人数,avg(salary )平均工资
    from emp e,dept d
    where e.did=d.did
    第二个,则再多关联job表,然后按job分组第三个估计dept表中,没有经理的,manager_id就是空的关键你的表信息不全,也没有测试数据,叫人家怎么写给你啊
    其实应该算简单的SQL
    无非就是COUNT,AVG,只不过是多表关联加分组第三个估计也就是is null的查询不过没有数据,就不会有具体的SQl,只能说个思路
      

  6.   

    单纯熟悉SQL的话,MYSQL是足够了,不过每个数据库内会有自己独特的东西
    如果你想往ORACLE发展,自然是装个ORACLE好喽
    像COUNT
    AVG什么的都是标准SQL
      

  7.   

    mysql 不支持select又select的嵌套查询吧??
      

  8.   


    用了hibernate 多表关联加分组 都忘了...........
      

  9.   


    1, select empname(部门名字列),count(*) ,avg(emp_salary) from emp group by empid(部门id)。
    2,select empname(部门名字列), emptype(工种) ,avg(emp_salary)from emp group by  empid(部门id),emptype(工种)。
    3,这个,不太清楚,楼主的信息太少了。
      

  10.   

    1.部门人数:count(*)from emp group by deptid;
     平均工资用 avg(salary)
    2.group by后面加条件
    3.可能是用exists来查managerid那个字段是否存在  
      

  11.   

    dept表只有几个字段 did name manager_id 等
    我才是用 where manager_id is NOT NULL ??
      

  12.   

    各部门人数和平均工资 
    select d.did, count(*), avg(salary) from emp e, dept d emp 
    where e.did = d.did
    group by d.did;不同部门不同工种的平均工资 
    select did, title, avg(salary)
    from emp
    group by did, title;