SQL: SELECT-Abfragen, Teil I

Früher oder später ist es soweit: Sie formulieren Ihre erste eigene SQL-Abfrage. Der Abfrage-Editor kann den Zeitpunkt aufschieben, aber irgendwann wollen Sie beispielsweise für den Einsatz in einem DAO-Recordset mal eben selbst eine SELECT-Anweisung zusammenstellen. Glücklicherweise ist SQL kein Buch mit sieben Siegeln. Die Grundlagen zum Auswählen von Daten mit der SELECT-Anweisung lernen Sie in diesem Artikel kennen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1112_SQLSELECT.mdb.

SQL – was ist das

SQL steht für Structured Query Language, was wiederum Strukturierte Abfragesprache bedeutet. SQL kommt in mehreren Dialekten, die sich von Hersteller zu Hersteller unterschieden – Microsoft’s SQL Server, MySQL und andere Systeme verwenden alle Abfragesprachen mit kleinen Unterschieden. So auch Access: Es setzt Access-SQL ein, das weitgehend mit ANSI-89 Level 1 kompatibel ist. Weitgehend bedeutet hier, dass Access-SQL einige Elemente hinzufügt (wie etwa das Referenzieren von Formularen und Steuerelementen aus der SQL-Anweisung heraus), andere Features aber nicht konsequent übernimmt. Tatsache ist, dass grundlegende SQL-Kenntnisse anderer Dialekte bei Verwendung von Access-SQL nicht schaden können.

Access-SQL besteht im wesentlichen aus zwei Teilen: DDL (Data Definition Language) enthält Anweisungen, mit denen Sie Datenbanken, Tabellen, Felder und Indizes definieren. DML (Data Manipulation Language) wiederum liefert die Techniken zum Abfragen und zum ändern von Daten, also zum Anlegen, Bearbeiten oder Löschen von Datensätzen.

Den ersten Teil der Data Manipulation Language, also das Abfragen von Daten, deckt weitgehend der SELECT-Befehl ab. Mit diesem können Sie alle Abfragen mit SQL definieren, die sich auch mit der Abfrage-Entwurfsansicht erstellen lassen.

Ein Beispiel ist die Abfrage aus Bild 1. Die Abfrage enthält zwei Tabellen und ein Kriterium. Wenn Sie im Kontextmenü der Titelleiste des Abfragefensters den Eintrag SQL-Ansicht auswählen, erhalten Sie die Ansicht aus Bild 2. Das sieht für jemanden, der noch nie eine SQL-Anweisung gesehen hat, möglicherweise etwas kompliziert aus. In der Tat enthält dieser kleine Text alle Informationen, die Sie über die Abfrage-Entwurfsansicht eingetragen haben.

Abfrage mit zwei Tabellen und einem Kriterium in der Abfrage-Entwurfsansicht ...

Bild 1: Abfrage mit zwei Tabellen und einem Kriterium in der Abfrage-Entwurfsansicht …

... und in der SQL-Ansicht.

Bild 2: … und in der SQL-Ansicht.

Wohin damit

SQL-Ausdrücke, die in einfachen Fällen etwa SELECT * FROM tblArtikel lauten und alle Datensätze der Tabelle tblArtikel zurückliefern, können Sie an sehr vielen Stellen einsetzen.

Wenn Sie beispielsweise eine UNION-Abfrage wie in Daten zusammenführen mit UNION-Abfragen beschrieben erstellen, kommen Sie um den Einsatz der SQL-Ansicht einer Abfrage nicht herum.

Wenn Sie die Datenherkunft für Formulare oder Berichte festlegen oder die Datensatzherkunft für Kombinations- und Listenfelder, wird diese ebenfalls als SQL-Ausdruck gespeichert (siehe Bild 3). Erst wenn Sie die Abfrage unter einem eigenen Namen speichern, sodass diese im Datenbankfenster oder im Navigationsbereich sichtbar wird, enthält auch die entsprechende Eigenschaft diesen Namen.

SQL-Ausdruck als Wert der Eigenschaft Datenherkunft eines Formulars

Bild 3: SQL-Ausdruck als Wert der Eigenschaft Datenherkunft eines Formulars

Access [basics]

Unser exklusives Angebot für Dich!

Access im Unternehmen
7,90 € im Monat*

(Das Abo ist jederzeit monatlich kündbar)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →