SELECT-Anweisung

Daten aus Tabellen abfragen

In der sehr verkürzten Syntax kann diese Anweisung so aussehen:

SELECT wähle
Feldliste die angegebenen Felder (mehrere durch Komma getrennt)
FROM der Tabelle
Tabelle Tabellennahme (mehrere durch Komma getrennt)


Statt der Feldliste können sie auch einen Stern * angeben. Dann sind alle Felder der TabelleNo im Abfrageergebnis enthalten.

Beispiele

Selektion aller Felder der Tabelle Kunde

SELECT * FROM Kunde

Selektion der Felder KundenCode und Firma der Tabelle Kunde

SELECT KundenCode, Firma FROM Kunde

 

Erweiterung mit der WHERE-Klausel

SELECT wähle
Feldliste die angegebenen Felder (mehrere durch Komma getrennt)
FROM der Tabelle
Tabelle Tabellennahme (mehrere durch Komma getrennt)
[WHERE] wobei
Bedingung Bedingung, die einen logischen Wert (True, False) zum Ergebnis haben muss
[AND|OR] und/oder
Bedingung Bedingung, die einen logischen Wert (True, False) zum Ergebnis haben muss


Beispiele

Alle Artikel mit allen Attributen, die im 1-kg-Paket geliefert werden.

SELECT * FROM Artikel WHERE Liefereinheit = "1-kg-Paket"

Nur die Felder ArtikelNr und Artikel aller Artikel, die im 1-kg-Paket geliefert werden und deren Preis höher ist als 10.
 
SELECT * FROM Artikel WHERE Liefereinheit = "1-kg-Paket" AND Einzelpreis > 10
 

Suchen mit Wildcards

Über Wildcards können unscharfe Selektionskriterien erstellt werden.

SELECT wähle
Feldliste die angegebenen Felder (mehrere durch Komma getrennt)
FROM der Tabelle
Tabelle Tabellennahme (mehrere durch Komma getrennt)
[WHERE] wobei
Feld Feld der Tabelle
[NOT] optionale Verneinung
LIKE so ähnlich wie
Muster gesuchtes Muster mit Wildcards
% steht für eine Zeichenkette beliebiger Länge
_ steht für ein einzelnes Zeichen


Beispiele

Alle Mitarbeiter, deren Nachname mit  "K" beginnt:

SELECT * FROM Personal WHERE Nachname LIKE "K%"

Alle Lieferanten, die keine Aktiengesellschaften sind:

SELECT * FROM Lieferant WHERE Firma NOT LIKE "% AG"

Alle Bestellungen, die an einem 8. Juli bestellt wurden:

SELECT * FROM Bestellung WHERE Bestelldatum LIKE "____-07-08%"
 

Sortieren des Ergebnisses

Eine Ergebnismenge kann sortiert werden, indem der bekannten SELECT-Anweisung die ORDER BY-Klausel hinzugefügt wird.

SELECT wähle
Feldliste die angegebenen Felder (mehrere durch Komma getrennt)
FROM der Tabelle
Tabelle Tabellennahme (mehrere durch Komma getrennt)
[WHERE] wobei
Bedingung Bedingung, die einen logischen Wert (True, False) zum Ergebnis haben muss
[AND|OR] und/oder
Bedingung Bedingung, die einen logischen Wert (True, False) zum Ergebnis haben muss
[ORDER BY] sortiere das Ergebnis nach
Tabellenfeld das Feld, nachdem sortiert werden soll
[DESC|ASC] DESC = absteigende Sortierreihenfolge
ASC = aufsteigende Sortierreihenfolge (Voreinstellung)


Beispiele

Alle weiblichen Mitarbeiter, sortiert nach dem Nachnamen:

SELECT * FROM Personal WHERE Anrede = "Frau" ORDER BY Nachname

Alle Mitarbeiter, sortiert nach dem Geburtsdatum (die Jüngeren zuerst):

SELECT * FROM Personal ORDER BY Geburtsdatum DESC
Last modified: Wednesday, 2 December 2015, 10:26 AM