Zu Oracle

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

Self Join

Bei einem Self Join wird eine Tabelle mit sich selbst verknüpft.

Da die Tabelle zweimal in der FROM- Klausel erscheint, muss ein Alias verwendet werden.

SELECT a.*, b.* FROM
tabelle1 a, tabelle1 b
WHERE a.spalte1 = b.spalte2


Beispiel:

Geben Sie die Mitarbeiter und ihre direkten Vorgesetzten aus: 

SQL> SELECT arbeiter.ename "Mitarbeiter", vorgesetzter.ename "Chef"
     FROM emp arbeiter, emp vorgesetzter
     WHERE vorgesetzter.empno=arbeiter.mgr ;

Mitarbeiter   Chef
----------    --------
SMITH         FORD
ALLEN         BLAKE
WARD          BLAKE
JONES         KING
MARTIN        BLAKE
BLAKE         KING
CLARK         KING
SCOTT         JONES
TURNER        BLAKE
ADAMS         SCOTT
JAMES         BLAKE
FORD          JONES
MILLER        CLARK

Hinweis:

Ab 9i gibt es eine neue Syntax für Joins. Der oben genannte Self Join kann jetzt auch so geschrieben werden:

SQL> SELECT arbeiter.ename "Mitarbeiter", vorgesetzter.ename "Chef"
     FROM emp arbeiter JOIN emp vorgesetzter ON 
     (arbeiter.mgr=vorgesetzter.empno);


Wenn Sie mehr zur neuen Syntax für Joins erfahren möchten, lesen Sie unseren Monatstipp "Neuerungen zu Joins".

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.