Structured Query Language (SQL)

Sie sind hier: StartseiteStructured Query LanguageKlauseln

CM, 01.09.2001

Klauseln: Klauseln (WHERE-Klausel, STARTING WITH-Klausel, ORDER BY-Klausel, GROUP BY-Klausel, HAVING-Klausel).

Klauseln

WHERE-Klausel

Zur Auswahl bestimmter Datensätze.

Beispiel: Ausgabe aller Datensätze mit xxx in ausgewählter Spalte.
SELECT * FROM <Spaltenname>
WHERE <Spaltenname> = 'xxx';

Ein anderes Beispiel: der optionale Zuweisungsoperator AS.

SELECT <Spaltenname1> AS "Das ist ein Test!"
FROM
<Tabellenname>
WHERE <Spaltenname2> = 'xxx';

Ausgabe aller Spaltenname1-Inhalte (Überschrift der neu erzeugten Spalte ist "Das ist ein Test", bei denen in zweitangesprochener Spalte "xxx" steht.

STARTING WITH-Klausel

Arbeitet mit gleichem Ergebnis wie der Ausdruck LIKE. Beide Versionen können auch gekoppelt werden. Allerdings ist die STARTING WITH-Klausel nicht in allen SQL-Implementierungen zu finden.

SELECT <Spaltenname1>, <Spaltenname2>, <Spaltenname3>
FROM <Tabellenname>
WHERE <Spaltenname1> STARTING WITH ('C');

Ausgabe aller Datensätze, in denen Spalte1 mit dem Buchstaben C beginnt.

ORDER BY-Klausel

Reihenfolgebestimmung durch ORDER BY. DESC (descending) steht für "absteigend" und ASC (ascending) für "aufsteigend". Diese Angaben sind optional, die Voreinstellung ist ASC.

SELECT * FROM <Tabellenname>
ORDER BY <Spaltenname> DESC;

Es können auch mehrere Spalten (durch Komma getrennt) zur Sortierreihenfolge beitragen. Die Notationsfolge bestimmt Sortierpriorität.

GROUP BY-Klausel

Zelleninhaltgruppierung. Eine Tabelle mit Zahlungsempfängern und Zahlbeträgen soll als Grundlage dienen. Nun soll die Summe aller Überweisungen der jeweiligen Empfänger ausgegeben werden.

SELECT Empfänger, SUM(Betrag)
FROM
<Tabellenname>
GROUP BY Empfänger;

HAVING-Klausel

Einsatz von Aggregatfunktionen in einer Vergleichsanweisung.

SELECT <Spaltenname1>, AVG(<Spaltenname2>)
FROM
<Tabellenname>
GROUP BY <Spaltenname1>
HAVING AVG(<Spaltenname2>) < 3000;

Ausgabe: nach Spaltennname 1 gruppiert, Durchschnittswert Spalte2 kleiner 3000.