Office: Access SQL: Grundkonzepte, Sprache und Syntax

Helfe beim Thema Access SQL: Grundkonzepte, Sprache und Syntax in Microsoft Access Tutorials um das Problem gemeinsam zu lösen; Access SQL: Grundkonzepte, Sprache und Syntax Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access... Dieses Thema im Forum "Microsoft Access Tutorials" wurde erstellt von Tutorials, 1. Januar 2020.

  1. Tutorials
    Tutorials Neuer User

    Access SQL: Grundkonzepte, Sprache und Syntax


    Access SQL: Grundkonzepte, Sprache und Syntax
    Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger Hinweis: Wir möchten Ihnen die aktuellsten Hilfeinhalte so schnell wie möglich in Ihrer eigenen Sprache bereitstellen. Diese Seite wurde automatisiert übersetzt und kann Grammatikfehler oder Ungenauigkeiten enthalten. Unser Ziel ist es, Ihnen hilfreiche Inhalte bereitzustellen. Teilen Sie uns bitte über den Link am unteren Rand dieser Seite mit, ob die Informationen für Sie hilfreich sind. Hier finden Sie den englischen Artikel als Referenz.

    Wenn Sie Daten aus einer Datenbank abrufen möchten, verwenden Sie dazu die Structured Query Language (SQL). SQL ist eine Computersprache, die dem Englischen ähnlich ist und von Datenbankprogrammen verstanden wird. Jede Abfrage, die Sie ausführen, verwendet im Hintergrund SQL.

    Wenn Sie verstehen, wie SQL funktioniert, können Sie bessere Abfragen erstellen, und Sie können auch einfacher entscheiden, wie Sie eine Abfrage korrigieren, die nicht die gewünschten Ergebnisse zurückgibt.

    Dieser Artikel ist Teil einer Artikelreihe über Access SQL. In diesem Artikel wird die grundlegende Verwendung von SQL zum Auswählen von Daten beschrieben. Außerdem wird die SQL-Syntax anhand von Beispielen veranschaulicht.

    Inhalt dieses Artikels
    Was ist SQL?

    Grundlegende SQL-Klauseln: SELECT, FROM und WHERE

    Sortieren der Ergebnisse: ORDER BY

    Arbeiten mit zusammengefassten Daten: GROUP BY und HAVING

    Kombinieren von Abfrageergebnissen: UNION

    Was ist SQL?
    SQL ist eine Computersprache für die Arbeit mit Gruppen von Fakten und die Beziehungen zwischen ihnen an. Relationale Datenbank-Programmen wie Microsoft Office Access, verwenden SQL arbeiten mit Daten. Im Gegensatz zu viele Computersprachen ist SQL nicht schwer zu lesen und zu verstehen, auch für ein Anfänger. Wie viele Computersprachen ist SQL einem internationalen Standard, der von Organisationen wie ISO und ANSIerkannt wird.

    Sie verwenden SQL, um Gruppen von Daten zu beschreiben, mit denen Sie Fragen beantworten können. Beim Verwenden von SQL müssen Sie die richtige Syntax einhalten. Die Syntax besteht aus einer Reihe von Regeln, durch die die Elemente einer Sprache richtig kombiniert werden. Die SQL-Syntax basiert auf der englischen Syntax und verwendet viele der gleichen Elemente wie die Syntax von Visual Basic for Applications (VBA).

    Eine einfache SQL-Anweisung, die eine Liste von Nachnamen für Kontakte abruft, deren Vorname Mary ist, sieht beispielsweise wie folgt aus:

    Hinweis: SQL wird nicht nur zum Bearbeiten von Daten, sondern auch zum Erstellen und Ändern des Entwurfs von Datenbankobjekten wie Tabellen verwendet. Der zum Erstellen und Ändern von Datenbankobjekten verwendete Teil von SQL wird als Datendefinitionssprache (Data Definition Language, DDL) bezeichnet. In diesem Artikel wird DDL nicht behandelt. Weitere Informationen finden Sie im Artikel Erstellen oder Ändern von Tabellen oder Indizes mithilfe einer Datendefinitionsabfrage.

    SELECT-Anweisungen
    Zum Beschreiben einer Gruppe von Daten mithilfe von SQL schreiben Sie eine SELECT-Anweisung. Eine SELECT-Anweisung enthält eine vollständige Beschreibung einer Gruppe von Daten, die Sie aus einer Datenbank abrufen möchten. Dies umfasst Folgendes:

    • In welchen Tabellen die Daten enthalten sind
    • Die Beziehung zwischen Daten aus verschiedenen Quellen
    • Welche Felder oder Berechnungen die Daten generieren
    • Kriterien, die die Daten erfüllen müssen, um einbezogen zu werden
    • Ob und wie die Ergebnisse sortiert werden
    SQL-Klauseln
    Wie ein Satz enthält eine SQL-Anweisung Klauseln. Jede Klausel führt eine Funktion für die SQL-Anweisung aus. Einige Klauseln sind in einer SELECT-Anweisung erforderlich. In der folgenden Tabelle werden die am häufigsten verwendeten SQL-Klauseln aufgelistet.

    SQL-Klausel

    Zweck

    Erforderlich

    SELECT

    Gibt die Felder mit den gewünschten Daten an

    Ja

    FROM

    Enthält die Tabellen mit den Feldern, die in der SELECT-Klausel angegeben sind

    Ja

    WHERE

    Gibt Feldkriterien an, die jeder Datensatz erfüllen muss, um in die Ergebnisse einbezogen zu werden

    Nein

    ORDER BY

    Gibt die Sortierung der Ergebnisse an

    Nein

    GROUP BY

    Gibt in einer SQL-Anweisung mit Aggregatfunktionen Felder an, die in der SELECT-Klausel nicht zusammengefasst werden

    Nur dann, wenn solche Felder vorhanden sind

    HAVING

    Gibt in einer SQL-Anweisung mit Aggregatfunktionen Felder an, die in der SELECT-Klausel nicht zusammengefasst werden

    Nein

    SQL-Begriffe
    Eine SQL-Klausel besteht aus Begriffen, die mit Wortarten vergleichbar sind. In der folgenden Tabelle werden die SQL-Begriffsarten aufgelistet.

    SQL-Begriff

    Vergleichbare Wortart

    Definition

    Beispiel

    Bezeichner

    Nomen

    Ein Name, mit dem Sie ein Datenbankobjekt bezeichnen, z. B. der Name eines Felds

    Kunden.[Telefonnummer]

    Operator

    Verb oder Adverb

    Ein Schlüsselwort, das eine Aktion repräsentiert oder ändert

    AS

    Konstante

    Nomen

    Ein sich nicht ändernder Wert, z. B. eine Zahl oder NULL

    42

    Ausdruck

    Adjektiv

    Eine Kombination aus Bezeichnern, Operatoren, Konstanten und Funktionen, die als Ergebnis einen einzelnen Wert liefert

    >= Artikel.[Einzelpreis]

    Seitenanfang

    Grundlegende SQL-Klauseln: SELECT, FROM und WHERE
    Eine SQL-Anweisung weist das folgende allgemeine Format auf:

    Hinweise: 

    • Access ignoriert Zeilenumbrüche in SQL-Anweisungen. Sie sollten jedoch für jede Klausel eine eigene Zeile verwenden, um die Lesbarkeit Ihrer SQL-Anweisungen zu verbessern.
    • Jede SELECT-Anweisung endet mit einem Semikolon (;). Das Semikolon kann am Ende der letzten Klausel oder in einer eigenen Zeile am Ende der SQL-Anweisung stehen.
    Beispiel in Access
    Im folgenden Beispiel wird veranschaulicht, wie eine SQL-Anweisung für eine einfache Auswahlabfrage in Access aussehen kann:


    Access SQL: Grundkonzepte, Sprache und Syntax c54ab29c-713d-46ce-8d05-2d58ff4f57fa.jpg


    1. SELECT-Klausel

    2. FROM-Klausel

    3. WHERE-Klausel

    Diese SQL-Beispielanweisung können Sie wie folgt interpretieren: "Daten auswählen, die in den Feldern "E-Mail-Adresse" und "Firma" der Tabelle "Kontakte" gespeichert sind, insbesondere Datensätze, in denen das Feld "Ort" den Wert "Stuttgart" enthält."

    Sehen wir uns das Beispiel Klausel für Klausel an, um herauszufinden, wie die SQL-Syntax funktioniert.

    Die SELECT-Klausel
    SELECT [E-mail Address], Company

    Dies ist die SELECT-Klausel. Sie besteht aus einem Operator (SELECT) gefolgt von zwei Bezeichnern ([E-Mail-Adresse] und Firma).

    Wenn ein Bezeichner Leer- oder Sonderzeichen enthält (wie z. B. "E-Mail-Adresse"), muss er in eckige Klammern eingeschlossen werden.

    Eine SELECT-Klausel muss nicht angeben, welche Tabellen die Felder enthalten, und kann keine Bedingungen angeben, die die Daten erfüllen müssen, um einbezogen zu werden.

    In einer SELECT-Anweisung steht die SELECT-Klausel stets vor der FROM-Klausel.

    Die FROM-Klausel
    FROM Contacts

    Dies ist die FROM-Klausel. Sie besteht aus einem Operator (FROM) gefolgt von einem Bezeichner (Kontakte).

    In einer FROM-Klausel werden die auszuwählenden Felder nicht aufgelistet.

    Die WHERE-Klausel
    WHERE City="Seattle"

    Dies ist die WHERE-Klausel. Sie besteht aus einem Operator (WHERE) gefolgt von einem Ausdruck (Ort="Stuttgart").

    Hinweis: Im Gegensatz zur SELECT- und FROM-Klausel ist die WHERE-Klausel kein erforderliches Element einer SELECT-Anweisung.

    Mithilfe von SELECT-, FROM- und WHERE-Klauseln können Sie viele der mit SQL möglichen Aktionen ausführen. Weitere Informationen zum Verwenden dieser Klauseln finden Sie in den folgenden weiteren Artikeln:

    Seitenanfang

    Sortieren der Ergebnisse: ORDER BY
    Wie in Microsoft Excel können Sie in Access Abfrageergebnisse in einem Datenblatt sortieren. Außerdem können Sie mit einer ORDER BY-Klausel in der Abfrage angeben, wie die Ergebnisse beim Ausführen der Abfrage sortiert werden sollen. Eine ORDER BY-Klausel ist stets die letzte Klausel in der SQL-Anweisung.

    Eine ORDER BY-Klausel enthält eine Liste der für die Sortierung zu verwendenden Felder in der Reihenfolge, in der Sie die Sortiervorgänge anwenden möchten.

    Angenommen, Sie möchten Ihre Ergebnisse zuerst nach dem Wert des Felds "Firma" in absteigender Reihenfolge und dann (falls es Datensätze mit demselben Wert für "Firma" gibt) nach den Werten im Feld "E-Mail-Adresse" in aufsteigender Reihenfolge sortieren. Ihre ORDER BY-Klausel würde dann wie folgt aussehen:

    ORDER BY Company DESC, [E-mail Address]

    Hinweis: In Access werden Werte standardmäßig in aufsteigender Reihenfolge (von A-Z, vom kleinsten zum größten Wert) sortiert. Verwenden Sie das Schlüsselwort DESC, wenn Werte stattdessen in absteigender Reihenfolge sortiert werden sollen.

    Weitere Informationen zur ORDER BY-Klausel finden Sie unter ORDER BY-Klausel.

    Seitenanfang

    Arbeiten mit zusammengefassten Daten: GROUP BY und HAVING
    Manchmal müssen Sie mit zusammengefassten Daten, z. B. dem Gesamtumsatz eines Monats oder den teuersten Artikeln in einem Bestand, arbeiten. Zu diesem Zweck wenden Sie eine Aggregatfunktion auf ein Feld in Ihrer SELECT-Klausel an. Wenn in Ihrer Abfrage beispielsweise die Anzahl von E-Mail-Adressen für jedes Unternehmen angezeigt werden soll, sieht Ihre SELECT-Klausel wie folgt aus:

    SELECT COUNT([E-mail Address]), Company

    Die Aggregatfunktionen, die Sie verwenden können, hängen vom Datentyp des gewünschten Felds oder Ausdrucks ab. Weitere Informationen zu den verfügbaren Aggregatfunktionen finden Sie im Artikel SQL-Aggregatfunktionen.

    Angeben von Feldern, die nicht in einer Aggregatfunktion verwendet werden: Die GROUP BY-Klausel
    Wenn Sie Aggregatfunktionen verwenden, müssen Sie in der Regel auch eine GROUP BY-Klausel erstellen. Eine GROUP BY-Klausel enthält alle Felder, auf die Sie keine Aggregatfunktion anwenden. Wenn Sie Aggregatfunktionen auf alle Felder in einer Abfrage anwenden, müssen Sie keine GROUP BY-Klausel erstellen.

    Eine GROUP BY-Klausel folgt unmittelbar auf die WHERE-Klausel bzw. auf die FROM-Klausel, wenn keine WHERE-Klausel vorhanden ist. Eine GROUP BY-Klausel listet die Felder entsprechend der Angabe in der SELECT-Klausel auf.

    Wenn wir zurückkommend auf das vorherige Beispiel annehmen, dass die SELECT-Klausel eine Aggregatfunktion auf "[E-Mail-Adresse]", aber nicht auf "Firma" anwendet, sieht Ihre GROUP BY-Klausel wie folgt aus:

    GROUP BY Company

    Weitere Informationen zur GROUP BY-Klausel finden Sie unter GROUP BY-Klausel.

    Einschränken zusammengefasster Werte mithilfe von Gruppenkriterien: die HAVING-Klausel
    Wenn Sie Ihre Ergebnisse mithilfe von Kriterien einschränken möchten, aber das Feld, für das die Kriterien gelten sollen, in einer Aggregatfunktion verwendet wird, können Sie keine WHERE-Klausel verwenden. Sie müssen stattdessen eine HAVING-Klausel verwenden. Eine HAVING-Klausel funktioniert wie eine WHERE-Klausel, wird jedoch für aggregierte Daten verwendet.

    Angenommen, Sie wenden die AVG-Funktion (die einen Durchschnittswert berechnet) auf das erste Feld in Ihrer SELECT-Klausel an:

    SELECT COUNT([E-mail Address]), Company

    Wenn die Abfrage die Ergebnisse basierend auf dem Wert dieser COUNT-Funktion einschränken soll, können Sie für dieses Feld in der WHERE-Klausel keine Kriterien verwenden. Stattdessen geben Sie die Kriterien in einer HAVING-Klausel an. Wenn die Abfrage beispielsweise nur Zeilen zurückgeben soll, wenn der Firma mehrere E-Mail-Adressen zugeordnet sind, sieht die HAVING-Klausel wie folgt aus:

    HAVING COUNT([E-mail Address])>1

    Hinweis: Eine Abfrage kann eine WHERE-Klausel und eine HAVING-Klausel aufweisen. Kriterien für Felder, die nicht in einer Aggregatfunktion verwendet werden, gehören in die WHERE-Klausel, und Kriterien für Felder, die in Aggregatfunktionen verwendet werden, gehören in die HAVING-Klausel.

    Weitere Informationen zur HAVING-Klausel finden Sie unter HAVING-Klausel.

    Seitenanfang

    Kombinieren von Abfrageergebnissen: UNION
    Sie verwenden den UNION-Operator, wenn Sie alle Daten überprüfen möchten, die von mehreren ähnlichen Auswahlabfragen zusammen als kombinierter Satz zurückgegeben werden.

    Mit dem UNION-Operator können Sie zwei SELECT-Anweisungen in einer Anweisung kombinieren. Die SELECT-Anweisungen, die Sie kombinieren, müssen über die gleiche Anzahl von Ausgabefeldern verfügen, und die Ausgabefelder müssen die gleiche Reihenfolge sowie die gleichen oder kompatible Datentypen aufweisen. Beim Ausführen der Abfrage werden die Daten aus jedem Satz einander entsprechender Felder in einem Ausgabefeld kombiniert, sodass die Ausgabe der Abfrage die gleiche Anzahl von Feldern wie jede der SELECT-Anweisungen aufweist.

    Hinweis: Zum Zweck einer Union-Abfrage sind die Datentypen "Zahl" und "Text" kompatibel.

    Beim Verwenden des UNION-Operators können Sie mithilfe des Schlüsselworts ALL auch angeben, ob die Abfrageergebnisse doppelte Zeilen, falls vorhanden, enthalten sollen.

    Die grundlegende SQL-Syntax für eine Union-Abfrage, die zwei SELECT-Anweisungen kombiniert, sieht wie folgt aus:

    Nehmen wir beispielsweise an, dass Sie über eine Tabelle mit Namen "Produkte" und eine weitere Tabelle mit Namen "Dienstleistungen" verfügen. In beiden Tabellen gibt es Felder, die den Namen des Produkts oder der Dienstleistung, den Preis sowie die Verfügbarkeit von Gewährleistung oder Garantie enthalten. Darüber hinaus gibt es ein Feld, das angibt, ob Sie das Produkt oder die Dienstleistung exklusiv anbieten. Obwohl in der Tabelle "Produkte" Informationen zur Gewährleistung und in der Tabelle "Dienstleistungen" Informationen zur Garantie gespeichert sind, ist die Information im Grunde genommen die gleiche (ob für ein bestimmtes Produkt oder für eine Dienstleistung ein Qualitätsversprechen gegeben wird). Sie können nun eine Union-Abfrage wie die folgende verwenden, um die vier Felder aus den beiden Tabellen zu kombinieren:

    Weitere Informationen zum Kombinieren von SELECT-Anweisungen mit dem UNION-Operator finden Sie unter Kombinieren der Ergebnisse mehrerer Auswahlabfragen mithilfe einer Union-Abfrage.

    Seitenanfang

    :)
     
    Tutorials, 1. Januar 2020
    #1
Thema:

Access SQL: Grundkonzepte, Sprache und Syntax

Die Seite wird geladen...
  1. Access SQL: Grundkonzepte, Sprache und Syntax - Similar Threads - Access SQL Grundkonzepte

  2. Access - SQL: Inhalt auf 255 Zeichen beschränkt

    in Microsoft Access Hilfe
    Access - SQL: Inhalt auf 255 Zeichen beschränkt: Hallo zusammen, in Access habe ich ein Modul mit folgender Funktion: Public Function SQLListe(Nummer As Long) As String Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT Dokument...
  3. Abfrage mit den jüngsten Einträgen erstellen

    in Microsoft Access Hilfe
    Abfrage mit den jüngsten Einträgen erstellen: Hallo liebe Experten, ich bastel gerade an einer Access-Datenbank für die Besuche meiner Klienten. Aus meiner Tabelle "KlientenT" und einer weiteren Tabelle mit "BesucheT" möchte ich eine Abfrage...
  4. Tabellen-Datenquelle in ganzem Dokument ändern

    in Microsoft Access Hilfe
    Tabellen-Datenquelle in ganzem Dokument ändern: Hallo, ich habe eine Access-Datenbank (FE & BE getrennt) mit mehreren Tabellen, Abfragen und Formularen. Nun möchte ich das BE nach SQL migrieren. Den Assistenten hierzu scheint es ja nicht mehr...
  5. Access to SQL Server

    in Microsoft Access Hilfe
    Access to SQL Server: Hallo, ich bin aktuell mit der Aufgabe beschäftigt eine Access Datenbank in SQL zu migrieren. Soweit so gut. Da es aber eine Übergangszeit geben wird, wird ein Nächtlicher Datenbankabgleich...
  6. Acces FrontEnd und MS SQL-Server als BackEnd

    in Microsoft Access Hilfe
    Acces FrontEnd und MS SQL-Server als BackEnd: Hallo zusammen, möchte MS access 2010 als FrontEnd und MS SQL-Server als Backend verwenden. Die Backend Tabellen sind bereits auf dem Server. Mit welchem VBA-Code sollte ich nun die MS...
  7. Access SQL Abfrage

    in Microsoft Access Hilfe
    Access SQL Abfrage: Guten MOrgen, ich bin grade etwas unglücklich über meine SQL Abfrage Code: SELECT MITGLIED.NAME, MITGLIED.VORNAME, MITGLIED.AUSWEISNR, FucAlter([Mitglied].[Geburtstag]) AS [Alter],...
  8. Access Runtime mit SQL Server

    in Microsoft Access Hilfe
    Access Runtime mit SQL Server: Hallo, wie verteile ich ein Access-Frontend mit verknüpften SQL Server Tabellen in der Runtime-Version? Ich habe schon viel experimentiert mit DNS-Datei, Computer-DNS ... klappt alles nicht...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden