In diesem Kapitel lernst du die grundlegenden SQL-Befehle kennen, mit denen du Daten aus einer Datenbank abrufen und bearbeiten kannst. Wir beginnen mit der SELECT-Anweisung und erweitern dann dein Wissen um WHERE, ORDER BY und LIMIT.
2.1 SQL-Syntax
SQL-Befehle folgen einer klaren Struktur, die oft als Syntax bezeichnet wird. Hier sind die wichtigsten Regeln:
Groß- und Kleinschreibung: SQL ist in der Regel case-insensitive, d. h. es spielt keine Rolle, ob du Groß- oder Kleinschreibung verwendest, so ist beispielsweise
SELECT
dasselbe wieselect
. Es ist jedoch üblich, SQL-Schlüsselwörter, wie z.B.SELECT
,FROM
oderWHERE
in Großbuchstaben zu schreiben, um sie besser lesbar zu machen.Semikolon: Ein SQL-Befehl endet in der Regel mit einem Semikolon (
;
), besonders wenn mehrere Befehle hintereinander ausgeführt werden. Es ist generell eine gute Praxis, immer ein Semikolon ans Ende eines Befehls zu setzen.Kommentare: Du kannst Kommentare in deinem SQL-Code hinzufügen, um Notizen zu machen:
Einzeilige Kommentare:
-- Dies ist ein Kommentar
Mehrzeilige Kommentare:
/* Dies ist ein mehrzeiliger Kommentar */
Im nächsten Abschnitt schauen wir uns die grundlegenden Schlüsselwörter SELECT
, FROM
und WHERE
genauer an. Dazu verwenden wir wieder unsere Tabelle benutzer
mit den Spalten id
, name
, alter
, email
und gruppe
.

2.2 SELECT-Anweisung
Die SELECT-Anweisung ist der grundlegendste und am häufigsten verwendete SQL-Befehl. Mit SELECT
kannst du Daten aus einer Tabelle abrufen.
Syntax:
SELECT spaltenname FROM tabellenname;
Beispiel 1:
Angenommen, du willst aus der Tabellebenutzer
alle Namen abrufen, dann schreibst du:
SELECT name FROM benutzer;

Beispiel 2:
Wenn du mehrere Spalten aus einer Tabelle abrufen möchtest, kannst du die gewünschten Spalten durch Kommas getrennt in dein SQL-Statement einfügen.SELECT name, email, gruppe FROM benutzer;

Alle Spalten abrufen:
Wenn du alle Spalten einer Tabelle abrufen möchtest, kannst du das Sternchen (*
) verwenden:
SELECT * FROM benutzer;
2.3 FROM-Klausel
FROM
-Klausel ist ein wesentlicher Bestandteil der SELECT
-Anweisung. Sie gibt an, aus welcher Tabelle (oder welchen Tabellen) die Daten abgerufen werden sollen. Ohne die FROM
-Klausel weiß die Datenbank nicht, wo sie die angeforderten Daten suchen soll.
Syntax:
SELECT spaltenname FROM tabellenname;
- spaltenname: Die Spalte(n), die du abrufen möchtest. Du kannst auch
*
verwenden, um alle Spalten auszuwählen. - tabellenname: Die Tabelle, aus der die Daten abgerufen werden sollen.
Beispiel 1: Abrufen aller Spalten aus einer Tabelle
Um alle Spalten aus der Tabellebenutzer
abzurufen, verwendest du:
SELECT * FROM benutzer;
Beispiel 2: Abrufen spezifischer Spalten aus einer Tabelle
Wenn du nur bestimmte Spalten abrufen möchtest, z. B.name
und email
, schreibst du:
SELECT name, email FROM benutzer;
Beispiel 3: Abrufen von Daten aus mehreren Tabellen (Grundlage für Joins)
DieFROM
-Klausel kann auch verwendet werden, um Daten aus mehreren Tabellen abzurufen. Dies ist die Grundlage für das Konzept der Joins, das in späteren Kapiteln behandelt wird. Ein einfaches Beispiel:
SELECT benutzer.name, bestellungen.datum FROM benutzer, bestellungen WHERE benutzer.id = bestellungen.benutzer_id;
benutzer
und bestellungen
abgerufen, basierend auf einer gemeinsamen Bedingung.
Warum ist die FROM-Klausel wichtig?
- Datenquelle: Sie legt fest, aus welcher Tabelle die Daten stammen.
- Flexibilität: Sie ermöglicht das Abrufen von Daten aus einer oder mehreren Tabellen.
- Grundlage für Joins: Sie ist der Ausgangspunkt für komplexere Abfragen, bei denen Daten aus mehreren Tabellen kombiniert werden.

2.4 WHERE-Klausel
Die WHERE-Klausel ist eines der wichtigsten Werkzeuge in SQL, um Daten basierend auf bestimmten Bedingungen zu filtern. Mit ihr kannst du gezielt nur die Zeilen auswählen, die deinen Kriterien entsprechen. Ohne die WHERE-Klausel würde eine Abfrage alle Zeilen einer Tabelle zurückgeben, was in den meisten Fällen nicht gewünscht ist.
Die grundlegende Syntax der WHERE-Klausel lautet:
SELECT spaltenname FROM tabellenname WHERE bedingung;
Dabei gilt:
spaltenname
: Die Spalte(n), die du abrufen möchtest. Du kannst auch*
verwenden, um alle Spalten auszuwählen.tabellenname
: Die Tabelle, aus der du Daten abrufen möchtest.bedingung
: Die Bedingung, die erfüllt sein muss, damit eine Zeile in das Ergebnis aufgenommen wird.
Syntax:
SELECT spaltenname FROM tabellenname WHERE bedingung;
Beispiel: Einfache Filterung
Um alle Benutzer abzurufen, die älter als 22 Jahre sind, schreibst du:
SELECT * FROM benutzer WHERE alter > 22;
Die Ergebnistabelle enthält nur die Zeilen, in denen der Wert der Spalte alter
größer als 22 ist. In unserem Beispiel sieht die Ergebnistabelle wie folgt aus:

2.5 ORDER BY-Klausel
Die ORDER BY-Klausel wird verwendet, um die Ergebnisse einer Abfrage zu sortieren. Du kannst die Daten entweder in aufsteigender (ASC
) oder absteigender (DESC
) Reihenfolge sortieren.
Syntax:
SELECT spaltenname FROM tabellenname ORDER BY spaltenname ASC|DESC;
Beispiel:
Um alle Benutzer nach ihrem Namen in aufsteigender Reihenfolge zu sortieren, schreibst du:
SELECT * FROM benutzer ORDER BY name ASC;
2.6 LIMIT-Klausel
Die LIMIT-Klausel wird verwendet, um die Anzahl der zurückgegebenen Zeilen zu begrenzen. Dies ist besonders nützlich, wenn du nur eine bestimmte Anzahl von Ergebnissen anzeigen möchtest.
Syntax:
SELECT spaltenname FROM tabellenname LIMIT anzahl;
Beispiel:
Um nur die ersten 10 Benutzer aus der Tabelle abzurufen, schreibst du:
SELECT * FROM benutzer LIMIT 10;
2.7 Kombination der Klauseln
Du kannst die Klauseln WHERE
, ORDER BY
und LIMIT
kombinieren, um präzise Abfragen zu erstellen.
Beispiel:
Um die Namen der 5 ältesten Benutzer abzurufen, schreibst du:
SELECT name FROM benutzer ORDER BY alter DESC LIMIT 5;
2.8 Zusammenfassung
In diesem Kapitel hast du gelernt:
Die Grundlagen der SQL-Syntax.
Wie du Daten mit SELECT abrufst.
Wie du mit der FROM-Klausel die Tabelle(n) angibst, aus der die Daten stammen.
Wie du Daten mit WHERE filterst.
Wie du Daten mit ORDER BY sortierst.
Wie du die Anzahl der Ergebnisse mit LIMIT begrenzt.
Im nächsten Kapitel werden wir uns mit Daten filtern und sortieren beschäftigen und lernen, wie du komplexere Abfragen erstellst.
Quiz zu den Grundlagen von SQL
Teste dein Wissen mit diesen Fragen:
Welcher Befehl wird verwendet, um Daten aus einer Tabelle abzurufen?
a)
FILTER
b)
SELECT
c)
GET
Wie filterst du Daten, die einem bestimmten Kriterium entsprechen?
a) Mit
ORDER BY
b) Mit
LIMIT
c) Mit
WHERE
Wie sortierst du Daten in absteigender Reihenfolge?
a)
ORDER BY spaltenname ASC
b)
ORDER BY spaltenname DESC
c)
ORDER BY spaltenname LIMIT
Antworten:
1. b) SELECT
2. c) WHERE
3. b) ORDER BY spaltenname DESC