Zum Inhalt springen
SemaTrain

SQL-WISSEN · Abfragen

SELECT, WHERE und ORDER BY

Wie eine SQL-Abfrage Spalten auswählt, Zeilen filtert und das Ergebnis sortiert – mit klarer Trennung zwischen gemeinsamem SQL-Kern und produktspezifischen Erweiterungen.

Kurzdefinition

SELECT beschreibt, welche Ausdrücke oder Spalten im Ergebnis erscheinen. WHERE schränkt die betrachteten Zeilen ein. ORDER BY legt die Sortierung nach den angegebenen Ausdrücken fest; sind Zeilen in allen Sortierschlüsseln gleich, bleibt ihre Reihenfolge ohne zusätzlichen Tie-Breaker nicht bestimmt.

Syntax und Aufbau

Weitere Elemente wie DISTINCT, LIKE, BETWEEN oder LIMIT beziehungsweise produktspezifische Varianten ergänzen dieses Grundmuster.

Grundmuster
SELECT spalte_a, spalte_b
FROM tabelle
WHERE bedingung
ORDER BY spalte_a ASC;

Konkretes Beispiel

Die Filterbedingung bestimmt, welche Zeilen in das Ergebnis gelangen. Die Sortierung verändert nicht die Zugehörigkeit zum Ergebnis, sondern nur dessen Reihenfolge.

Offene Bestellungen ab 100 Euro
SELECT id, kunde_id, betrag
FROM bestellung
WHERE status = 'offen'
  AND betrag >= 100
ORDER BY betrag DESC;

Kritisch unterscheiden

  • WHERE filtert Zeilen; ORDER BY sortiert das bereits bestimmte Ergebnis.
  • DISTINCT verändert die Ergebnismenge, indem doppelte Ergebniszeilen entfernt werden können.
  • NULL benötigt eine eigene logische Behandlung; ein Vergleich mit = NULL beschreibt nicht dieselbe Prüfung wie IS NULL.

Typische Fehler und Missverständnisse

  • Sich auf eine scheinbar zufällige Ergebnisreihenfolge ohne ORDER BY zu verlassen.
  • AND und OR ohne bewusst gesetzte Klammern zu kombinieren.
  • Produktspezifische Begrenzungs- oder Datumsfunktionen ungekennzeichnet als universelles SQL zu behandeln.

Praxisfall

Supporttickets priorisieren

Sie benötigen alle offenen Tickets einer bestimmten Priorität und möchten die ältesten zuerst sehen.

  • Welche Bedingungen gehören in WHERE?
  • Welche Spalte gehört in ORDER BY?
  • Welche Spalten müssen im SELECT tatsächlich ausgegeben werden?

Selbsttest

Verständnis prüfen

1. Welche Klausel legt die Sortierung eines SQL-Ergebnisses nach angegebenen Ausdrücken fest?

Antwortmöglichkeiten zu Frage 1
Antwort und Begründung anzeigen

ORDER BY legt die Sortierung nach den angegebenen Ausdrücken fest. Für eine vollständig deterministische Reihenfolge müssen die Sortierschlüssel auch Gleichstände auflösen.

2. Welche Klausel schränkt Zeilen vor der Ausgabe ein?

Antwortmöglichkeiten zu Frage 2
Antwort und Begründung anzeigen

WHERE formuliert die Filterbedingung für Zeilen.

Transfer

Auf die eigene Praxis übertragen

Nehmen Sie eine bestehende Abfrage und markieren Sie getrennt Projektion, Filter und Sortierung. Prüfen Sie anschließend, ob die Reihenfolge fachlich tatsächlich festgelegt ist.

Weiterlernen

Verknüpfungen

Quellen, Prüfstand und Grenzen

Fachliche Nachvollziehbarkeit

Quellen geprüft
2026-09-18
Versionsrahmen
Gemeinsamer SQL-Kern mit explizit gekennzeichneten Varianten für SQLite 3.53.4, PostgreSQL 18 und MySQL 8.4 LTS.
Aussagebereich
SELECT, WHERE und ORDER BY bilden den gemeinsamen Kern. Datumfunktionen, LIMIT-Varianten und weitere Details werden produktbezogen geprüft.
Originalität
Faktenbasis aus Primärquellen; Einordnung, Struktur, Beispiele, Selbsttests und Transfer sind eigenständige SemaTrain-Inhalte.

Grenzen

  • Produktspezifische Syntax und Verhalten können sich zwischen SQLite, PostgreSQL und MySQL unterscheiden.
  • Versionsabhängige Aussagen gelten für den im Quellenbereich ausgewiesenen Prüfstand.

Primärquellen

Projekt-Primärdokumentation

SQLite SELECT

SQLite

Version: SQLite 3.53.4

Bezug: SELECT, WHERE, ORDER BY, LIMIT und SELECT-Semantik.

Projekt-Primärdokumentation

PostgreSQL 18 SELECT

PostgreSQL

Version: PostgreSQL 18

Bezug: SELECT, WHERE, ORDER BY und LIMIT/OFFSET.