E-Learning Place

Lernplattform wird geladen …

SQL lernen: Die ersten fünf Abfragen mit Beispieldaten

Hinter vielen Anwendungen liegt eine Datenbank, und SQL (Structured Query Language) ist die Sprache, mit der du Daten abfragst. Wer SQL kann, holt sich Auswertungen selbst, statt auf Berichte zu warten. Hier lernst du die ersten fünf Abfragen an zwei kleinen Tabellen. Die Beispiele funktionieren in gängigen Datenbanken wie PostgreSQL.

Logis Merksatz: Schreibe eine Abfrage immer in dieser Reihenfolge: Was will ich sehen, aus welcher Tabelle, mit welcher Bedingung?
Logis Merksatz zu diesem Artikel

Die Beispieldaten

Tabelle artikel

artikel_id name preis lagerbestand
1 Schraube M6 0.05 5000
2 Mutter M6 0.03 8000
3 Palette EUR 12.50 40
4 Karton gross 1.20 600

Tabelle lieferungen

lieferung_id artikel_id menge datum
1 3 10 2026-03-02
2 4 200 2026-03-03
3 3 5 2026-03-10
4 1 1000 2026-03-11

Abfrage 1: SELECT mit WHERE und ORDER BY

Zeige Artikel mit einem Preis über 1 Franken, teuerster zuerst:

SELECT name, preis
FROM artikel
WHERE preis > 1
ORDER BY preis DESC;

Ergebnis: Palette EUR (12.50), Karton gross (1.20). Die Reihenfolge der Schlüsselwörter ist fest: SELECT, FROM, WHERE, ORDER BY.

Logi empfiehlt: Im SQL-Kurs fragst du Daten ab, verknüpfst Tabellen und wertest sie aus, mit Übungen zu jedem Schritt. Dazu passt der Kurs SQL und Datenanalyse für den Beruf auf e-learning.place. Jetzt gratis registrieren und mit der ersten Lerneinheit starten, ohne Kreditkarte.

Abfrage 2: Zählen und Summieren

Wie viele Artikel gibt es, und wie hoch ist der gesamte Lagerbestand?

SELECT COUNT(*) AS anzahl, SUM(lagerbestand) AS gesamt
FROM artikel;

Ergebnis: anzahl = 4, gesamt = 13640 (5000 + 8000 + 40 + 600). Mit AS gibst du den Spalten lesbare Namen.

Abfrage 3: JOIN verbindet Tabellen

Die Tabelle lieferungen enthält nur die artikel_id. Den Namen holst du mit einem JOIN:

SELECT a.name, l.menge, l.datum
FROM lieferungen l
JOIN artikel a ON a.artikel_id = l.artikel_id;

Du erhältst vier Zeilen, jede Lieferung mit dem Artikelnamen. Die Kürzel a und l sind Aliase und machen die Abfrage kürzer. Der Teil nach ON legt fest, welche Spalten zusammenpassen.

Abfrage 4: GROUP BY und HAVING

Wie viel wurde pro Artikel insgesamt geliefert?

SELECT a.name, SUM(l.menge) AS gesamt
FROM lieferungen l
JOIN artikel a ON a.artikel_id = l.artikel_id
GROUP BY a.name
ORDER BY gesamt DESC;

Ergebnis: Schraube M6 (1000), Karton gross (200), Palette EUR (15). Palette EUR erscheint einmal mit 10 + 5 = 15.

Willst du nur Artikel mit mehr als 100 gelieferten Stück, nutzt du HAVING (WHERE kann keine Summen filtern):

GROUP BY a.name
HAVING SUM(l.menge) > 100

Abfrage 5: LEFT JOIN findet fehlende Verbindungen

Welche Artikel wurden nie geliefert?

SELECT a.name
FROM artikel a
LEFT JOIN lieferungen l ON l.artikel_id = a.artikel_id
WHERE l.lieferung_id IS NULL;

Ergebnis: Mutter M6. Ein LEFT JOIN behält alle Zeilen der linken Tabelle, auch ohne Treffer rechts. Dort sind die Werte NULL, und das nutzt du zum Filtern. Beachte: Auf NULL prüfst du mit IS NULL, nicht mit = NULL.

Die logische Reihenfolge

Die Datenbank arbeitet die Teile in einer anderen Reihenfolge ab, als du sie schreibst: FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY. Das erklärt, warum ein Alias aus SELECT in WHERE noch nicht verfügbar ist.

Typische Anfängerfehler

  1. Spalte fehlt in GROUP BY: Jede Spalte in SELECT muss entweder in GROUP BY stehen oder in einer Funktion wie SUM.
  2. Text ohne Anführungszeichen: Texte schreibst du in einfachen Anführungszeichen, zum Beispiel WHERE name = 'Mutter M6'.
  3. JOIN ohne Bedingung: Ohne ON entsteht ein Kreuzprodukt mit sehr vielen Zeilen.
  4. NULL vergleichen: Nutze IS NULL, nicht = NULL.
Übung: Schreibe die Abfrage

Aufgabe: Zeige alle Lieferungen im März, bei denen die Menge grösser als 8 ist, mit dem Namen des Artikels. Lösung: SELECT a.name, l.menge FROM lieferungen l JOIN artikel a ON a.artikel_id = l.artikel_id WHERE l.menge > 8 AND l.datum BETWEEN '2026-03-01' AND '2026-03-31'; Ergebnis: Palette EUR (10), Karton gross (200), Schraube M6 (1000).

Häufige Fragen

Brauche ich eine Datenbank-Installation zum Üben?

Nein. Es gibt Online-Werkzeuge im Browser, in denen du Tabellen anlegen und abfragen kannst. Für einen tieferen Einstieg lohnt sich eine lokale Installation.

Was ist der Unterschied zwischen SQL und Excel?

Excel eignet sich für kleinere Tabellen, SQL für grosse, verknüpfte Datenmengen in Datenbanken. Viele Auswertungen kannst du in beiden Werkzeugen lösen.

Wo finde ich die offizielle Dokumentation?

Die Dokumentation von PostgreSQL ist gut verständlich und frei verfügbar.

Quellen und weiterführende Links

Weiterlernen auf e-learning.place

Logi begleitet dich durch die Kurse der Plattform: mit Praxisfällen, Übungen, Lernkarten und Quiz. So wird aus diesem Artikel eine Lernroutine.

Weitere Artikel aus dem Blog

Alle Blogartikel ansehen