💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 19、列出所有"CLERK"(办事员)的姓名及其部门名称,部门的人数. ![](https://img.kancloud.cn/71/34/7134aa478c135993c50d75e963d3c80c_280x144.png) 思路 1.使用emp和dept 进行多表查询并消除笛卡尔积 select * from emp e inner join dept d on e.deptno=d.deptno 2.在步骤1的基础上添加条件筛选,获取所有的职位为CLERK的所有员工姓名和部门名称 select e.ename,d.dname from emp e inner join dept d on e.deptno=d.deptno where e.job='CLERK' 3.使用emp表统计每个部门下一共拥有多少人并获取部门的编号 select deptno,count(empno)countNum from emp group by deptno 4.将步骤3的查询结果看成是临时表temptable然后和步骤2进行多表查询 并使用emp表中的deptno和temptable表中的deptno消除笛卡尔积 select e.ename,d.dname,tt.countNum from emp e inner join dept d on e.deptno=d.deptno inner join temptable tt on e.deptno=tt.deptno where e.job='CLERK' 5.使用步骤3的语句替换步骤4中的temptable select e.ename,d.dname,tt.countNum from emp e inner join dept d on e.deptno=d.deptno inner join (select deptno,count(empno)countNum from emp group by deptno) tt on e.deptno=tt.deptno where e.job='CLERK'