Freigeben über


Tabellen in Verknüpfungen

Aktualisiert: November 2007

Beim Kombinieren von Daten aus mehreren Tabellen müssen Sie eine Entscheidung darüber treffen, welche Tabellen in der Verknüpfung berücksichtigt werden sollen. Hierbei sollten Sie einige wichtige Punkte beachten:

  • Kombinieren von drei oder mehr Tabellen   Jede JOIN-Operation verknüpft zwei Tabellen miteinander. Sie können jedoch mehrere JOIN-Operationen innerhalb einer Abfrage verwenden, um Daten aus einer beliebigen Anzahl von Tabellen zusammenzustellen. Da als Ergebnis jeder JOIN-Operation wiederum eine Tabelle zurückgegeben wird, können Sie dieses Ergebnis als Operanden in einer nachfolgenden Verknüpfungsoperation verwenden. Um beispielsweise ein Resultset zu erstellen, in dem jede Zeile einen Buchtitel, einen Autor und den Prozentsatz angibt, den der Autor als Tantieme erhält, müssen Sie Daten aus drei Tabellen verknüpfen: authors, titles und titleauthor. Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT 
        title, 
        au_fname, 
        au_lname, 
        royaltyper
    FROM 
        authors 
            INNER JOIN 
            titleauthor 
            ON authors.au_id 
            =  titleauthor.au_id
       INNER JOIN
       titles 
             ON titleauthor.title_id 
             =  titles.title_id
    
  • Verwenden einer Tabelle zum Verknüpfen anderer Tabellen   Sie können eine Tabelle auch dann in einer Verknüpfung verwenden, wenn keine der Spalten dieser Tabelle im Resultset angezeigt werden soll. Um beispielsweise ein Resultset zu erstellen, in dem jede Zeile ein Titel/Filiale-Paar beschreibt, bei dem die genannte Filiale den entsprechenden Titel führt, verwenden Sie Spalten aus zwei Tabellen: titles und stores. Sie benötigen jedoch eine dritte Tabelle, sales, um die Filialen zu ermitteln, die einen bestimmten Titel verkauft haben. Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT title, stor_name 
    FROM titles 
             INNER JOIN 
             sales 
             ON titles.title_id = sales.title_id 
                 INNER JOIN 
                 stores 
                 ON 
                 sales.stor_id = stores.stor_id
    

    Beachten Sie, dass keine Spalte aus der Tabelle sales im Resultset enthalten ist.

  • Zweifaches Verwenden einer Tabelle in einer Abfrage   Sie können dieselbe Tabelle mehrmals innerhalb einer Abfrage verwenden. Weitere Informationen finden Sie unter Zweifaches Verwenden einer Tabelle in einer Abfrage.

  • Verwenden anderer Elemente statt einer Tabelle   Anstelle einer Tabelle können Sie auch eine Abfrage, eine Ansicht oder eine benutzerdefinierte Funktion verwenden, die eine Tabelle zurückgibt. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Abfragen mit anderen Quellen als einer Tabelle.

Weitere Informationen über das Hinzufügen von Tabellen zu einer Abfrage finden Sie unter Gewusst wie: Hinzufügen von Tabellen zu Abfragen.

Siehe auch

Referenz

Verknüpfungseigenschaften

Weitere Ressourcen

Erstellen von Abfragen mit Verknüpfungen

Entwerfen von Abfragen und Ansichten