SQL查询以显示父表';s记录后跟其所有子表';s记录

SQL查询以显示父表';s记录后跟其所有子表';s记录,sql,oracle,join,Sql,Oracle,Join,我需要编写一条SQL语句,使用EMP和DEPT表显示以下输出 输出: DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK EMPNO ENAME ---------- ---------- 7782 CLARK 7839 KING 7934 MILLER 20 RESEARCH

我需要编写一条SQL语句,使用EMP和DEPT表显示以下输出

输出:

DEPTNO DNAME            LOC           
---------- -------------- ------------- 
    10 ACCOUNTING     NEW YORK      

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


    20 RESEARCH       DALLAS        
 EMPNO ENAME
---------- ----------
  7369 SMITH
  7566 JONES
  7788 SCOTT
  7876 ADAMS
  7902 FORD


    30 SALES          CHICAGO       
 EMPNO ENAME
---------- ----------
  7499 ALLEN
  7521 WARD
  7654 MARTIN
  7698 BLAKE
  7844 TURNER
  7900 JAMES

6 rows selected.

    40 OPERATIONS     BOSTON        


no rows selected

因此,我需要一个查询的特定输出,其中首先显示部门信息,然后显示子表中的所有相应记录。

在我看来,这项任务并不像看上去那么简单。好的,我的SQL*Plus功能可能没有以前/应该的那么好。主要的问题是如何使EMP表的标题在每个部门重复(不,我不知道怎么做)

我设法得出的最接近的结果是:

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;

 DEPTNO DNAME      LOC
------- ---------- ----------
     EMPNO ENAME
---------- ----------
     10 ACCOUNTING NEW YORK
      7839 KING

      7782 CLARK

      7934 MILLER
     20 RESEARCH   DALLAS
      7902 FORD

      7369 SMITH

      7566 JONES
     30 SALES      CHICAGO
      7900 JAMES

      7844 TURNER

      7654 MARTIN

      7521 WARD

      7499 ALLEN

      7698 BLAKE
     40 OPERATIONS BOSTON


13 rows selected.

一旦您、Enferno(或任何其他人)能够准确地获得所要求的内容,我真的很想看到最终代码。

建议您,无需声明这是家庭作业。如果省略这些信息,你可能会得到更好的回复。@davidele-诚实至少让人耳目一新。恩费诺-你的作业的目的是让你学习它背后的技巧,这样当你碰到另一个例子时,你就可以应用那些学到的技巧。在编码论坛上要求“为我做作业”永远都不会成功。这是你学习的机会。你试过什么吗???如果是,则发布您的查询。如果没有,就开始工作。如果你太懒了,那就放弃这门课程,忘记数据库中的职业生涯吧。我已经尝试了多次查询,我不是在偷懒。但是我尝试过的查询并没有给出这个确切的结果。(我使用了join和groupby)