我有两张桌子:
EMP
表(员工表):
CREATE TABLE EMP
(
"ID" NUMBER,
"DEPT_ID" NUMBER,
"NAME" VARCHAR2(30),
PRIMARY KEY ("ID") ENABLE,
FOREIGN KEY ("DEPT_ID") REFERENCES DEPARTMENT ("ID") ENABLE
);
和DEPARTMENT
表:
CREATE TABLE DEPARTMENT
(
"ID" NUMBER,
"NAME" VARCHAR2(30),
PRIMARY KEY ("ID")
);
我想写一个查询,它会显示
DEPARTMENT.ID | DEPARMTENT.NAME | COUNT of employees working at the department.
我知道怎么显示id,但后来我无法显示名字。怎么做?部门名称不是唯一的,因此使其复杂化。 DEPARTMENT ID可以不分配给任何员工。
查询:
select d.id, count(e.id)
from emp e
right join department d
on e.DEPT_ID = d.ID
group by d.id
order by d.id;
显示id和count,但没有名称。
答案 0 :(得分:4)
你可以这样做:
select d.id, d.name, count(e.id)
from emp e
right join department d
on e.DEPT_ID = d.ID
group by d.id, d.name
order by d.id;
department.name
并不是唯一的,因为department.id and department.name
的组合是不同的......