Access-Icon

Microsoft Access: SQL

Der Datenbank-Benutzer benötigt in Access im Allgemeinen keine SQL-Kenntnisse, da Abfragen in der Entwurfsansicht erstellt werden können, welche automatisch in gültige SQL-Syntax übersetzt werden. Datenbank-Entwickler hingegen sollten unbedingt über profundes SQL-Wissen verfügen, da nur mithilfe von SQL komplexe Abfrage-Optionen verwendet werden können.

Access, SQL-Abfrage

Tipp: Die Structured Query Language (SQL) ist eine -verglichen mit Programmiersprachen- relativ einfach zu erlernende Sprache, es existieren einige grundlegende Befehle und SQL-Abfragen besitzen eine einheitliche Struktur. Einfache Auswahlabfragen können auch durch SQL-Anfänger bereits in kurzer Zeit erstellt werden.

Der wichtigste SQL-Befehl für Auswahlabfragen lautet SELECT, die mindestens erforderliche Syntax einer SQL-Abfrage in Access "SELECT [Feldname(n)] FROM [Tabellenname(n)];", also beispielsweise "SELECT Name, Vorname FROM Mitarbeiter;" oder "SELECT Firma, Land FROM Kunden;". Wenn Sie alle Datensätze einer Tabelle anzeigen wollen, genügt es "SELECT * FROM [Tabelle];" einzugeben. SQL besteht aus vier Komponenten: DQL (Data Query Language), DML (Data Manipulation Language), DDL (Data Definition Language) und DCL (Data Control Language). Diese ermöglichen die vollständige Administration einer Datenbank, von der Erstellung der Tabellen über Änderungen/Aktualisierungen bis hin zur Vergabe von Zugriffsrechten an die Benutzer.

Structured Query Language (SQL) - Einige Beispiele für einfache Abfragen

Befehl Beispiel
  SELECT SELECT [Feldname(n)] FROM [Tabellenname(n)];

z.B. "SELECT Ort, Land FROM Kunden;". Zurückgeliefert werden alle Inhalte der Felder Ort und Land von allen Datensätzen der Tabelle Kunden, Mehrfachnennungen sind möglich.

  DISTINCT SELECT DISTINCT [Feldname(n)] FROM [Tabellenname(n)];

z.B. "SELECT DISTINCT Ort, Land FROM Kunden;". Zurückgeliefert werden alle paarweise unterschiedlichen Inhalte der Felder Ort und Land von allen Datensätzen der Tabelle Kunden, Mehrfachnennungen sind nicht möglich.

  COUNT SELECT COUNT(*) FROM [Tabellenname];

z.B. "SELECT COUNT(*) FROM Kunden;". Zurückgeliefert wird die Anzahl der Datensätze der Tabelle Kunden.

  WHERE SELECT [Feldname(n)] FROM [Tabellenname(n)] WHERE [Kriterium];

z.B. "SELECT Firma, Ort FROM Kunden WHERE Land='Deutschland';". Zurückgeliefert werden alle Inhalte der Felder Firma und Ort von allen Datensätzen der Tabelle Kunden, für die das Kriterium zutrifft, Mehrfachnennungen sind möglich.

oder:

z.B. "SELECT ArtikelNr, Lagerbestand FROM Artikel WHERE Lagerbestand < 100;"

  ORDER BY SELECT [Feldname(n)] FROM [Tabellenname(n)] WHERE [Kriterium]; ORDER BY [Feldname]

z.B. "SELECT Firma, Ort FROM Kunden WHERE Land='Deutschland' ORDER BY Firma;". Zurückgeliefert werden alle Inhalte der Felder Firma und Ort von allen Datensätzen der Tabelle Kunden, für die das Kriterium zutrifft, sortiert (A-Z) nach dem Feld Firma. Mehrfachnennungen sind möglich.

oder:

z.B. "SELECT ArtikelNr, Lagerbestand FROM Artikel WHERE Lagerbestand < 100 ORDER BY Kategorie; "

  INNER JOIN SELECT [Feldname(n)] FROM [Tabellenname1] INNER JOIN [Tabellenname2] ON [Feldname1]=[Feldname2] WHERE [Kriterium]; ORDER BY [Feldname]

z.B. "SELECT Firma, Ort FROM Kunden INNER JOIN Bestellungen ON Kunden.KundenNr=Bestellungen.KundenNr WHERE Land='Deutschland' ORDER BY Firma;". Zurückgeliefert werden alle Inhalte der Felder Firma und Ort von allen Datensätzen der Tabelle Kunden, deren Kundennummer auch in der Tabelle Bestellungen vorliegt und für die das Kriterium Land="Deutschland" zutrifft, sortiert (A-Z) nach dem Feld Firma. Mehrfachnennungen sind möglich.

Access - Schulungen in Berlin? dozentenkontor>>