SQL Erste Schritte

Korrelationsnamen

Ein Korrelationsname ist eine Kennung, mit der die einzelnen Verwendungsarten eines Objekts unterschieden werden. Ein Korrelationsname kann in der Klausel FROM einer Abfrage und in der ersten Klausel einer Anweisung UPDATE oder DELETE definiert werden. Ihm kann eine Tabelle, eine Sicht oder ein verschachtelter Tabellenausdruck zugeordnet sein, jedoch nur in dem definierten Kontext.

Beispiel: Die Klausel FROM STAFF S, ORG O legt S und O als Korrelationsnamen für STAFF bzw. ORG fest.

      SELECT NAME, DEPTNAME
         FROM STAFF S, ORG O
         WHERE O.MANAGER = S.ID

Nachdem Sie einen Korrelationsnamen definiert haben, können Sie zur Qualifizierung des Objekts ausschließlich den Korrelationsnamen verwenden. Im vorgenannten Beispiel würde beispielsweise die Angabe ORG.MANAGER=STAFF.ID zum Fehlschlagen der Anweisung führen.

Ein Korrelationsname kann auch als Kurzname für den Verweis auf ein Datenbankobjekt verwendet werden. (Der Buchstabe S kann schneller eingegeben werden als der Name STAFF.)

Durch den Einsatz von Korrelationsnamen können Sie Duplikate eines Objekts erstellen. Dies ist nützlich, wenn Sie Einträge einer Tabelle mit der Tabelle selbst vergleichen müssen. Im folgenden Beispiel wird die Tabelle EMPLOYEE mit einem weiteren Exemplar dieser Tabelle verglichen, um die Abteilungsleiter für alle Mitarbeiter zu ermitteln. Es werden die Namen aller Mitarbeiter mit einer anderen Tätigkeitsbezeichnung als DESIGNER sowie der entsprechende Abteilungsleiter und die Abteilungsnummer angezeigt.

     SELECT E2.FIRSTNME, E2.LASTNAME, E2.JOB, E1.FIRSTNME AS MGR_FIRSTNAME, 
                           E1.LASTNAME AS MGR_LASTNAME, E1.WORKDEPT
        FROM EMPLOYEE E1, EMPLOYEE E2
        WHERE E1.WORKDEPT = E2.WORKDEPT 
          AND E1.JOB = 'MANAGER' 
          AND E2.JOB <> 'MANAGER'
          AND E2.JOB <> 'DESIGNER'

Diese Anweisung erzeugt das folgende Ergebnis:

     FIRSTNME     LASTNAME   JOB      MGR_FIRSTNAME MGR_LASTNAME    WORKDEPT
     ------------ ---------- -------- ------------- --------------- --------
     DOLORES      QUINTANA   ANALYST  SALLY         KWAN            C01     
     HEATHER      NICHOLLS   ANALYST  SALLY         KWAN            C01     
     JAMES        JEFFERSON  CLERK    EVA           PULASKI         D21     
     SALVATORE    MARINO     CLERK    EVA           PULASKI         D21     
     DANIEL       SMITH      CLERK    EVA           PULASKI         D21     
     SYBIL        JOHNSON    CLERK    EVA           PULASKI         D21     
     MARIA        PEREZ      CLERK    EVA           PULASKI         D21     
     ETHEL        SCHNEIDER  OPERATOR EILEEN        HENDERSON       E11     
     JOHN         PARKER     OPERATOR EILEEN        HENDERSON       E11     
     PHILIP       SMITH      OPERATOR EILEEN        HENDERSON       E11     
     MAUDE        SETRIGHT   OPERATOR EILEEN        HENDERSON       E11     
     RAMLAL       MEHTA      FIELDREP THEODORE      SPENSER         E21     
     WING         LEE        FIELDREP THEODORE      SPENSER         E21     
     JASON        GOUNOT     FIELDREP THEODORE      SPENSER         E21     


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]