Zu Oracle

Bereich:
Versionsinfo:
SQL
10.1, 10.2, 11.1, 11.2
Erstellung:
Letzte Überarbeitung:
06/2006 MP
06/2009 MA
 Als PDF Downloaden!

Outer Join

  • Entspricht eine Zeile nicht der Join-Bedingung, so wird die Zeile nicht in das Abfrageergebnis aufgenommen.
  • Durch die Bezeichnung left oder right werden die Zeilen, die keine Entsprechung in der anderen Tabelle aufweisen, angezeigt.
  • Je nachdem, ob left oder right angegeben wurde, werden die entsprechenden Zeilen ausgegeben.
  • Möchte man sowohl die rechte Seite komplett sehen wie auch die linke, verwendet man nicht beide Bezeichner left und right, sondern den Bezeichner full

Beispiele:

 SQL> SELECT e.ename, e.deptno, d.dname
     FROM emp e LEFT OUTER JOIN dept d
     ON (e.deptno = d.deptno);


    ENAME          DEPTNO DNAME         
    ---------- ---------- --------------
    MILLER             10 ACCOUNTING    
    KING               10 ACCOUNTING    
    CLARK              10 ACCOUNTING    
    FORD               20 RESEARCH      
    ADAMS              20 RESEARCH      
    SCOTT              20 RESEARCH      
    JONES              20 RESEARCH      
    SMITH              20 RESEARCH      
    JAMES              30 SALES         
    TURNER             30 SALES         
    BLAKE              30 SALES         
    MARTIN             30 SALES         
    WARD               30 SALES         
    ALLEN              30 SALES         
    HUBER                               
    15 Zeilen ausgewählt.               

SQL> SELECT e.ename, d.deptno, d.dname
     FROM emp e RIGHT OUTER JOIN dept d
     ON (e.deptno = d.deptno);



    ENAME          DEPTNO DNAME         
    ---------- ---------- --------------
    SMITH              20 RESEARCH      
    ALLEN              30 SALES
    WARD               30 SALES
    JONES              20 RESEARCH
    MARTIN             30 SALES
    BLAKE              30 SALES
    CLARK              10 ACCOUNTING
    SCOTT              20 RESEARCH
    KING               10 ACCOUNTING
    TURNER             30 SALES
    ADAMS              20 RESEARCH
    JAMES              30 SALES
    FORD               20 RESEARCH
    MILLER             10 ACCOUNTING
                       40 OPERATIONS
    15 Zeilen ausgewählt.

SQL> SELECT e.ename, d.deptno, d.dname
     FROM emp e FULL OUTER JOIN dept d
     ON (e.deptno = d.deptno);


    ENAME          DEPTNO DNAME
    ---------- ---------- --------------
    MILLER             10 ACCOUNTING
    KING               10 ACCOUNTING
    CLARK              10 ACCOUNTING
    FORD               20 RESEARCH
    ADAMS              20 RESEARCH
    SCOTT              20 RESEARCH
    JONES              20 RESEARCH
    SMITH              20 RESEARCH
    JAMES              30 SALES
    TURNER             30 SALES
    BLAKE              30 SALES
    MARTIN             30 SALES
    WARD               30 SALES
    ALLEN              30 SALES
    HUBER
                       40 OPERATIONS
    16 Zeilen ausgewählt.

Suche

Kontakt

Telefon:
  089 6228 6789-0

Telefon (gültig bis Ende 2010):
  089 679090-40

E-Mail Verteiler Monatstipps

Bitte nehmen Sie mich in den Verteiler der monatlichen Tipps & Tricks auf.