要解决的Oracle数据库查询

问题描述 投票:0回答:2
create table employee
    (emp_id     integer     not null,
     manager_id     integer     not null,   
     emp_name   char(20)    not null,
     emp_tel    char(10),
     emp_salary number      not null,
     hire_date  date,
    constraint pk_employee primary key(emp_id)
    );

alter table employee 
add constraint fk_employee_manager foreign key(manager_id) 
references employee(emp_id);

需要帮助来查找与之合作的5名以上员工的经理的ID。

sql oracle10g
2个回答
1
投票

只需这样做:您需要使自己熟悉分组功能的可能性

select manager_id     
from employee
group by manager_id     
having count(*)>5

0
投票
insert into employee (emp_id, manager_id, emp_name, emp_salary)
select 1, 1, 'A', 1000 from dual
union select 2, 1, 'A', 1000 from dual
union select 3, 1, 'A', 1000 from dual
union select 4, 1, 'A', 1000 from dual
union select 5, 1, 'A', 1000 from dual
union select 6, 1, 'A', 1000 from dual
union select 7, 2, 'A', 1000 from dual;

select manager_id, count(emp_id) from employee group by manager_id
having count(emp_id) > 5;
© www.soinside.com 2019 - 2024. All rights reserved.