SQL Anweisungen – SELECT Abfragen aus einer Tabelle
Mit den SELECT Anweisungen und den möglichen Bedingungen ist es möglich eine Vielzahl unterschiedlicher Abfragen zu gestalten. In diesem Artikel findest du einige grundlegende SQL SELECT Abfragen die immer wieder nützlich sind.
Abfragen aus einer Tabelle
-
Projektion (Auswahl von Feldern, Anzahl aller Datensätze)
SELECT Feld1, Feld2, … (oder * für alle) FROM TabName;
- Sortierung der Datensätze
Die Sortierung von Abfrageergebnissen findet immer am Ende statt.
SELECT xxx FROM xxx ORDER BY Feld1 [ASC / DESC],…;
Werden mehrere Sortierkriterien angegeben, so werden Sie von links nach rechts abgearbeitet. ASC (Aufsteigend) wird als Standartwert vorausgesetzt. Möglich ist auch DESC (Absteigend).
- Selektion (Auswahl von Datensätzen)
SELECT xxx FROM xxx WHERE Kriterien* ORDER BY xxx;
Kriterien: WHERE ORT IN („Rdbl“, „DD“) WHERE BerNr BETWEEN 2 AND 6
- Erstellung berechneter Felder
SELECT Preis, Preis*1.16 AS Brutto FROM TabArtikel WHERE xx ORDER BY xx;
Bei AS handelt es sich um einen Aliasnamen, der in der Ergebnistabelle auftaucht.
- Berechnung in allen Datensätzen
Aggregationsfunktionen: COUNT () Ermittelt die Anzahl der Datensätze AVG () Durchschnitt MAX () Maximalwert MIN () Minimalwert SUM () Summe
Beispiel: SELECT SUM(Preis), COUNT(ArtNr.) AS Anzahl FROM TabArtikel;
ABER NICHT: SELECT SUM(Preis), ArtNr FROM TabArtikel;
WHERE -> Datensätze werden vor der Berechnung ausgeblendet.- Count (*) ? Anzahl Datensätze der Tabelle
- Count (Feld) ? Anzahl der Datensätze, die nicht NULL sind (nicht leer)
- Berechnung in Gruppen von Datensätzen
Gruppierung in einem Feld:
Datensätze mit identischem Inhalt in diesem Feld, werden zu einer Gruppe zusammengefasst.
Die Aggregationsfunktion rechnet pro Gruppe.
SELECT SUM (Teilsumme) AS Gesamt FROM TabUmsatz WHERE xxx GROUP BY KuNr;
HAVING -> Ergebnisse ausblenden nach der Berechnung
SELECT SUM (Teilsumme) AS Gesamt FROM TabUmsatz WHERE xxx GROUP BY KuNr HAVING SUM(Teilsumme) > 23;
Nicht mit Alias, das Ergebnis muss neu berechnet werden.
Definition eines Views
CREATE VIEW ViewName AS (SELECT)
Ein VIEW ist eine Art Synonym für eine komplette SELECT-Anfrage bzw. eine bereits gefilterte Tabelle. (SELECT) wird durch eine SELECT-Anfrage ersetzt. Von dieser virtuellen Tabelle lassen sich erneut Daten per SELECT abfragen:
SELECT * FROM ViewName