Dieser Artikel ist Teil einer Artikelreihe über Access SQL. In diesem Artikel wird beschrieben, wie Sie eine SELECT-Klausel schreiben, und anhand von Beispielen werden verschiedene Techniken veranschaulicht, die Sie beim Schreiben verwenden können.
Eine Übersicht über Access SQL finden Sie im Artikel Access SQL: Grundkonzepte, Sprache und Syntax.
Inhalt dieses Artikels
Auswählen von Feldern: Die SELECT-Klausel
Eine SELECT-Anweisung beginnt in der Regel mit einer SELECT-Klausel. In einer SELECT-Klausel geben Sie die Namen der Felder an, in denen die Daten enthalten sind, die Sie in einer Abfrage verwenden möchten. Anstelle von oder zusätzlich zu Feldern können Sie auch Ausdrücke verwenden. Sie können sogar eine andere SELECT-Anweisung als Feld verwenden, was als Unterabfrage bezeichnet wird.
Angenommen, Sie möchten die Telefonnummern Ihrer Kunden wissen. Wenn wir davon ausgehen, dass das Feld, in dem Kundentelefonnummern gespeichert werden," txtCustPhone" heißt, sieht die SELECT-Klausel wie folgt aus:
SELECT [txtCustomerPhone]
Sie können den Namen in eckige Klammern setzen. Wenn der Name keine Leerzeichen oder Sonderzeichen (z. B. Satzzeichen) enthält, sind die eckigen Klammern optional. Enthält der Name Leerzeichen oder Sonderzeichen, müssen Sie die eckigen Klammern verwenden.
Tipp: Ein Name, der Leerzeichen enthält, ist einfacher zu lesen und kann Ihnen beim Entwerfen von Formularen und Berichten Zeit sparen, möglicherweise müssen Sie jedoch umfangreichere Eingaben vornehmen, wenn Sie SQL-Anweisungen schreiben. Berücksichtigen Sie diese Tatsache, wenn Sie Objekten in Ihrer Access-Datenbank Namen zuweisen.
Wenn Ihre SQL-Anweisung zwei oder mehrere Felder mit demselben Namen enthält, müssen Sie in der SELECT-Klausel dem Feldnamen den Namen der Datenquelle der einzelnen Felder hinzufügen. Dabei müssen Sie für die Datenquelle denselben Namen wie in der FROM-Klausel verwenden.
Auswählen aller Felder
Wenn Sie alle Felder einer Datenquelle einschließen möchten, können Sie entweder in der SELECT-Klausel alle Felder einzeln auflisten oder das Sternchen (*) als Platzhalterzeichen verwenden. Wenn Sie das Sternchen verwenden, ermittelt Access beim Ausführen der Abfrage, welche Felder die Datenquelle enthält, und schließt all diese Felder in die Abfrage ein. Dadurch wird sichergestellt, dass die Abfrage aktuell bleibt, wenn der Datenquelle neue Felder hinzugefügt werden.
Sie können das Sternchen für eine oder mehrere Datenquellen in einer SQL-Anweisung verwenden. Wenn Sie das Sternchen verwenden und mehrere Datenquellen vorhanden sind, müssen Sie den Namen der Datenquelle zusammen mit dem Sternchen angeben, damit Access bestimmen kann, aus welcher Datenquelle alle Felder einbezogen werden müssen.
Angenommen, Sie möchten alle Felder aus der Tabelle "Aufträge", aber nur die E-Mail-Adresse aus der Tabelle "Kontakte" auswählen. Ihre SELECT-Klausel sieht dann wie folgt aus:
SELECT Orders.*, Contacts.[E-mail Address]
Hinweis: Verfolgen Sie die Verwendung des Sternchens nach. Wenn der Datenquelle später neue Felder hinzugefügt werden und Sie diese nicht berücksichtigt haben, erhalten Sie möglicherweise nicht die gewünschten Abfrageergebnisse.
Auswählen eindeutiger Werte
Wenn Sie wissen, dass die Anweisung redundante Daten auswählt und Sie nur eindeutige Werte anzeigen möchten, können Sie in Ihrer SELECT-Klausel das Schlüsselwort DISTINCT verwenden. Angenommen, jeder Ihrer Kunden, von denen einige dieselbe Telefonnummer haben, repräsentiert verschiedene Interessen. Wenn Sie sicherstellen möchten, dass jede Telefonnummer nur einmal angezeigt wird, muss Ihre SELECT-Klausel wie folgt aussehen:
SELECT DISTINCT [txtCustomerPhone]
Verwenden von Ersatznamen für Felder oder Ausdrücke: Das Schlüsselwort AS
Sie können die in der Datenblattansicht für ein Feld angezeigte Beschriftung ändern, indem Sie in der SELECT-Klausel das Schlüsselwort AS und einen Feldalias angeben. Ein Feldalias ist ein Name, den Sie einem Feld in einer Abfrage zuweisen, damit die Ergebnisse besser lesbar sind. Wenn Sie beispielsweise Daten aus einem Feld mit dem Namen "txtCustPhone" auswählen möchten und das Feld Telefonnummern von Kunden enthält, können Sie die Lesbarkeit Ihrer Ergebnisse verbessern, indem Sie wie folgt in der SELECT-Anweisung einen Feldalias angeben:
SELECT [txtCustPhone] AS [Customer Phone]
Hinweis: Bei Verwendung eines Ausdrucks in einer SELECT-Klausel müssen Sie einen Feldalias verwenden.
Auswählen von Daten mithilfe eines Ausdrucks
Gelegentlich möchten Sie Berechnungen basierend auf Ihren Daten anzeigen oder nur einen Teil der Daten eines Felds abrufen. Angenommen, das Geburtsjahr Ihrer Kunden soll basierend auf dem Feld "Geburtsdatum" in Ihrer Datenbank zurückgegeben werden. Ihre SELECT-Klausel müsste dann wie folgt aussehen:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Dieser Ausdruck besteht aus der DatePart-Funktion und zwei Argumenten: "JJJJ" (Konstante) und [Geburtsdatum] (Bezeichner).
Sie können einen beliebigen gültigen Ausdruck als Feld verwenden, wenn der Ausdruck bei einem angegebenen einzelnen Eingabewert einen einzelnen Wert ausgibt.