要解决的ORACLE DATABASE SQL查询

问题描述 投票: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 database oracle10g qsqlquery
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.