SQL查询显示父表的记录,后跟其所有子表的记录


甲基蓝
2024-11-21 08:17:02 (3月前)



———- ————– ————-
10纽约会计

EMPNO ENAME
———- ———-
7782 CLARK
7839 KING
7934 MILLER

20

研究
</跨度>
DALLAS
EMPNO ENAME
———- ———-
7369史密斯詹姆斯

选择了6行。

40

营运
</跨度>
波士顿

没有选择任何行

所以我需要查询中的这个特定输出,其中首先显示dept信息,然后显示来自子表的所有相应记录。
锟斤拷

2 条回复
  1. 0# 无语 | 2019-08-31 10-32



    从我的角度来看,这项任务并不像看起来那么简单。好吧,我的SQL * Plus功能可能不像以前那样好。主要问题是如何让EMP表的标题重复每个部门(不,我不知道该怎么做)。



    我设法产生的最接近的结果是:




    1. SQL> col deptno format 999999
      SQL> col dname format a10
      SQL> col loc format a10
      SQL> set linesize 30
      SQL> set recsep off
      SQL> break on deptno on dname on loc
      SQL>
      SQL> select d.deptno, d.dname, d.loc, e.empno, e.ename
      2 from dept d left join emp e on e.deptno = d.deptno
      3 order by d.deptno;

    2. DEPTNO DNAME LOC


    3.  EMPNO ENAME

    4.  10 ACCOUNTING NEW YORK
    5.   7839 KING
    6.   7782 CLARK
    7.   7934 MILLER
    8.  20 RESEARCH   DALLAS
    9.   7902 FORD
    10.   7369 SMITH
    11.   7566 JONES
    12.  30 SALES      CHICAGO
    13.   7900 JAMES
    14.   7844 TURNER
    15.   7654 MARTIN
    16.   7521 WARD
    17.   7499 ALLEN
    18.   7698 BLAKE
    19.  40 OPERATIONS BOSTON
    20. 13 rows selected.

    21. </code>


    一旦你,Enferno(或任何其他人)设法得到了所要求的,我真的很想看到最终的代码。


登录 后才能参与评论