- Datenbanksysteme: SQL
- Erste grundlegende Abfragebefehle
- SELECT, FROM
- AS
- DISTINCT
- ORDER BY
- WHERE
- Weitere SQL-Abfragen
- Auswertung von Tabellen mit Aggregatfunktionen
- Auwertung von Tabellen mit Aggregatfunktionen und Gruppenbildung (GROUP BY)
- Auswertung von Tabellen mit Aggregatfunktion und Gruppenbildung unter Verwendung von Bedingungen (HAVING)
Datenbanksysteme: SQL
Die Datenbanksprache SQL (Structured Query Language) erlaubt neben dem Aufbau und der Veränderung von Datenbanken vor allem, Daten aus diesen Tabellen nach bestimmten Gesichtspunkten abzufragen. Im Folgenden nutzen wir SQL ausschließlich als Instrument zur Abfrage.
Erste grundlegende Abfragebefehle
SELECT, FROM
Die einfachste Form der SQL-Abfrage besteht aus der SELECT-Klausel und der FROM-Klausel. Als Ergebnis wird eine Tabelle angezeigt, die alle in der SELECT-Klausel angegebenen Spalten der Tabelle enthält, die in der FROM-Klausel angegeben sind. Die Reihenfolge der Spaltennamen in der SELECT-Klausel legt dabei die Anordnung der Ergebnisspalten fest.
Beispiel: Alle Start- und Zielflughäfen der Tabelle FLUG sollen ausgegeben werden
SELECT "von", "nach"
FROM FLUG;
Sollen alle Spalten einer Tabelle ausgegeben werden, so verwendet man hinter dem Schlüsselwort SELECT einen Stern "*".
Beispiel:
SELECT *
FROM FLUG;
AS
Möchte man die Spaltenüberschriften ändern, wird hinter den jeweiligen Spaltennamen mit dem Schlüsselwort AS die gewünschte Spaltenüberschrift gesetzt.
Beispiel:
SELECT "von" AS Startflughafen, "nach" AS Zielflughafen
FROM FLUG;
DISTINCT
Sollen eventuelle Duplikate vermieden werden, so wird hinter das Schlüsselwort SELECT noch das Schlüsselwort DISTINCT angehängt.
Beispiele: Alle Flüge, für die eine Buchung existiert, sollen angezeigt werden.
SELECT "Flugnr"
FROM BUCHUNG;
bzw.
SELECT DISTINCT "Flugnr"
FROM BUCHUNG;
ORDER BY
Um sortierte Ergebnisse zu erhalten, verwendet man das Schlüsselwort ORDER BY. Die ORDER BY-Klausel enthält die Spalte nach der sortiert wird. Der Befehl DESC hinter dem Spaltennamen gibt an, das die Inhalte absteigend sortiert werden.
SELECT "Flugnr", "ab"
FROM FLUG
ORDER BY "ab";
WHERE
Sollen alle nicht aussagekräftigen Kombinationen ausgeschlossen werden, so muss mit Hilfe der WHERE-Klausel eine Gleichheitsbedingung angegeben werden. Damit kann man auch Einschränkungen der Datensätze vorgenommen werden.
Beispiel: Alle Kunden über 30 sollen mit Name, Vorname und Alter angezeigt werden, sortiert nach Alter
SELECT "Name", "Vorname", "Alter"
FROM KUNDE
WHERE "Alter" > 30
ORDER BY "Alter" DESC;
Weitere SQL-Abfragen
Auswertung von Tabellen mit Aggregatfunktionen
Folgende Aggregatfunktionen können verwendet werden:
- COUNT (Ausdruck): Anzahl der Datensätze von (Ausdruck)
- SUM (Ausdruck): Summe der Werte von (Ausdruck)
- AVG (Ausdruck): Durchschnittswert der Datensätze von (Ausdruck)
- MIN (Ausdruck): Minimum aller Werte von (Ausdruck)
- MAX (Ausdruck): Maximum aller Werte von (Ausdruck)
Auwertung von Tabellen mit Aggregatfunktionen und Gruppenbildung (GROUP BY)
Durch das Schlüsselwort GROUP BY Spaltenname wird die gesamte Tabelle in Teiltabellen zerlegt, die in der angegebenen Spalte den gleichen Wert haben. Für jede dieser Teiltabellen kann nun ein bestimmter Wert errechnet werden.
Auswertung von Tabellen mit Aggregatfunktion und Gruppenbildung unter Verwendung von Bedingungen (HAVING)
Die HAVING-Klausel wählt aus den gegebenen Bedingungen diejenigen aus, die eine vorgegebene Bedingung erfüllen.