Zu Oracle

Bereich:
Versionsinfo:
SQL
9.2, 10.2, 11.1
Erstellung:
Letzte Überarbeitung:
05/2005 MM
06/2009 EF
 Als PDF Downloaden!

Equijoin

Bei einem Equijoin werden die Tabellen über ein Gleichheitszeichen verknüpft: der Wert einer Spalte in der ersten Tabelle muss genau dem Wert einer Spalte in der zweiten Tabelle entsprechen. Zeilen ohne Entsprechung in der jeweils anderen Tabelle werden nicht ausgewählt.
Ab Version 9i kann man sowohl die herkömmliche Oracle-Syntax als auch die ANSI-Syntax verwenden.

Ansi:

SELECT t1.spalte1, t1.spalte2, t2.spalte1, t2.spalte2, .....
FROM tabelle1 t1 JOIN tabelle2 t2
ON t1.spalte1 = t2. spalte1
WHERE <weitere Bedingungen>

Oracle:

SELECT t1.spalte1, t1.spalte2, t2.spalte1, t2.spalte2, .....
FROM tabelle1 t1, tabelle2 t2
WHERE t1.spalte1 = t2. spalte1
AND <weitere Bedingungen>

Für die Performance der Select-Anweisung ist es besser, für die Tabellen einen kurzen  Aliasnamen zu vergeben und alle Spalten mittels Punktnotation mit dem Aliasnamen ihrer Herkunftstabellen zu kennzeichnen.
Beispiel:
Gesucht sind Name, Gehalt, Abteilungsname, Vorgesetzter und Arbeitsort der emp-Mitarbeiter, die mehr als 1000 € verdienen.

SELECT ma.ename Chef, ma.sal, d.dname, bo.ename Chef, d.loc
FROM emp ma JOIN dept d
ON ma.deptno = d.deptno
           JOIN emp bo
ON ma.mgr = bo.empno
WHERE ma.sal > 1000;

oder

SELECT ma.ename Chef, ma.sal, d.dname, bo.ename Chef, d.loc
FROM emp ma, dept d, emp bo
WHERE ma.deptno = d.deptno
AND ma.mgr = bo.empno
AND ma.sal > 1000;

CHEF          SAL DNAME      CHEF       LOC
---------- ------ ---------- ---------- ----------
FORD         3000 RESEARCH   JONES      DALLAS
SCOTT        3000 RESEARCH   JONES      DALLAS
TURNER       1500 SALES      BLAKE      CHICAGO
MARTIN       1250 SALES      BLAKE      CHICAGO
WARD         1250 SALES      BLAKE      CHICAGO
ALLEN        1600 SALES      BLAKE      CHICAGO
MILLER       1300 ACCOUNTING CLARK      NEW YORK
ADAMS        1100 RESEARCH   SCOTT      DALLAS
CLARK        2450 ACCOUNTING KING       NEW YORK
BLAKE        2850 SALES      KING       CHICAGO
JONES        2975 RESEARCH   KING       DALLAS

Suche

Kontakt

Telefon:
  089 6228 6789-0

Telefon (noch gültig):
  089 679090-40

E-Mail Verteiler Monatstipps

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