pl/sql 查询以通过 deptno 查找经理名称
Posted
技术标签:
【中文标题】pl/sql 查询以通过 deptno 查找经理名称【英文标题】:pl/sql query to find out the manager name by deptno 【发布时间】:2017-03-20 06:17:36 【问题描述】:pl/sql 查询通过 deptno 查找经理名称
DECLARE
V_ENAME EMP.ENAME%TYPE;
BEGIN
FOR I IN (SELECT distinct DEPTNO FROM EMP)
LOOP
SELECT ENAME INTO V_ENAME FROM EMP
WHERE JOB='MANAGER' AND DEPTNO=I.DEPTNO;
DBMS_OUTPUT.PUT_LINE('THE NAME OF THE MANAGER IN '||I.DEPTNO||' IS '||V_ENAME);
END LOOP;
END;
【问题讨论】:
问题是什么? 没有 PL/SQL 查询之类的东西。 【参考方案1】:工作正常
DECLARE
V_ENAME EMP.ENAME%TYPE;
BEGIN
FOR I IN (SELECT distinct DEPTNO FROM EMP)
LOOP
SELECT ENAME INTO V_ENAME FROM EMP
WHERE JOB='MANAGER' AND DEPTNO=I.DEPTNO;
DBMS_OUTPUT.PUT_LINE('THE NAME OF THE MANAGER IN DEPARTMENT '||I.DEPTNO||' IS '||V_ENAME);
END LOOP;
END;
打印
THE NAME OF THE MANAGER IN DEPARTMENT 30 IS BLAKE
THE NAME OF THE MANAGER IN DEPARTMENT 20 IS JONES
THE NAME OF THE MANAGER IN DEPARTMENT 10 IS CLARK
【讨论】:
【参考方案2】:由于我不知道这个线程的意义何在,我将提供简单的 SQL 查询来执行问题中所要求的 - 获取部门的 deptno 和经理的姓名(使用标量子查询)。
select d.deptno,
(select e.ename
from emp e
where e.deptno = d.deptno
and e.job = 'MANAGER') manager
from dept d;
这里没有理由使用 PL/SQL。
【讨论】:
以上是关于pl/sql 查询以通过 deptno 查找经理名称的主要内容,如果未能解决你的问题,请参考以下文章
PL/SQL查询,字段名添加中文别名,查询结果的字段名会显示问号,处理方法: