0Pricing
SQL Academy · Lektion

ORDER BY mit einer oder mehreren Spalten

Sortieren Sie Ergebnisse auf- oder absteigend, sortieren Sie nach mehreren Spalten und legen Sie mit NULLS FIRST / NULLS LAST fest, wo NULL-Werte erscheinen.

ORDER BY mit einer oder mehreren Spalten ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Sie ORDER BY benötigen

Eine SQL-Tabelle ist eine ungeordnete Menge. Ohne ORDER BY kann die Datenbank Zeilen in beliebiger Reihenfolge zurückgeben – und diese Reihenfolge kann sich zwischen Ausführungen ändern. Wenn die Reihenfolge in Ihrer Benutzeroberfläche oder Ihrem Bericht wichtig ist, sortieren Sie ausdrücklich.

Sortieren nach einer Spalte

Standardmäßig wird aufsteigend sortiert:

SELECT id, email FROM users ORDER BY created_at;       -- oldest first
SELECT id, email FROM users ORDER BY created_at ASC;
SELECT id, email FROM users ORDER BY created_at DESC;  -- newest first

Sortieren nach mehreren Spalten

Listen Sie die Spalten in Prioritätsreihenfolge auf. Die zweite Spalte löst Gleichstände in der ersten auf:

SELECT first_name, last_name, age
FROM users
ORDER BY last_name ASC, first_name ASC, age DESC;

Sortieren nach einem Ausdruck

Sie können nach jedem Ausdruck sortieren:

SELECT email, full_name
FROM users
ORDER BY LENGTH(email) DESC, email ASC;

Sortieren nach Alias oder Position

Sie können auf einen Alias der SELECT-Liste oder auf dessen 1-basierte Position verweisen:

SELECT id, total * 0.9 AS discounted
FROM orders
ORDER BY discounted DESC;     -- by alias

SELECT id, total
FROM orders
ORDER BY 2 DESC;               -- by position (avoid in code — fragile)

NULLS FIRST / NULLS LAST

Steuern Sie, wo NULL-Werte eingeordnet werden:

-- Default: NULLs LAST when ASC, FIRST when DESC
SELECT * FROM users ORDER BY last_login_at DESC NULLS LAST;
SELECT * FROM users ORDER BY last_login_at ASC  NULLS FIRST;

Stabile Sortierungen und Tiebreaker

Wenn mehrere Zeilen denselben Sortierschlüssel haben, kann die Datenbank sie in beliebiger Reihenfolge zurückgeben. Fügen Sie den Primärschlüssel als Tiebreaker hinzu, um deterministische Ergebnisse zu erhalten:

SELECT * FROM orders
ORDER BY created_at DESC, id DESC;

ORDER BY und Indizes

Wenn für die ORDER BY-Spalte(n) ein Index existiert, kann die Datenbank die Zeilen bereits in der richtigen Reihenfolge lesen, ohne einen Sortierschritt auszuführen.

-- With index on created_at DESC, this can use the index directly:
SELECT * FROM events ORDER BY created_at DESC LIMIT 100;

CASE in ORDER BY

Benutzerdefinierte Sortierung mit CASE:

-- Show priority orders first:
SELECT * FROM orders
ORDER BY
  CASE status
    WHEN 'urgent'   THEN 0
    WHEN 'normal'   THEN 1
    ELSE 2
  END,
  created_at DESC;

ORDER BY wird nach WHERE ausgeführt

ORDER BY arbeitet mit dem Ergebnis von WHERE/GROUP BY/HAVING. Zuerst wird gefiltert, dann sortiert.

Große Tabellen nicht ohne LIMIT sortieren

Das Sortieren eines Ergebnisses mit einer Milliarde Zeilen ist teuer. Wenn Sie nur die ersten N benötigen, fügen Sie LIMIT hinzu – der Abfrageplaner kann auf eine Top-N-Strategie umschalten.

SELECT * FROM events ORDER BY created_at DESC LIMIT 50;

Zusammenfassung

ORDER BY macht Ergebnisse deterministisch.

  • ASC / DESC pro Spalte
  • Mehrere Spalten als Tiebreaker
  • NULLS FIRST / LAST, wenn relevant
  • Große Sortierungen immer mit LIMIT kombinieren

Kurzer Check

Welche Sortierrichtung ist in SQL die Standardeinstellung?

Häufig gestellte Fragen

Ist die Lektion „ORDER BY mit einer oder mehreren Spalten“ kostenlos?

Ja — der vollständige Text von „ORDER BY mit einer oder mehreren Spalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „ORDER BY mit einer oder mehreren Spalten“?

Sortieren Sie Ergebnisse auf- oder absteigend, sortieren Sie nach mehreren Spalten und legen Sie mit NULLS FIRST / NULLS LAST fest, wo NULL-Werte erscheinen. Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um SQL Academy zu starten?

Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „ORDER BY mit einer oder mehreren Spalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?

Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Spalten und Ausdrücke auswählen
  2. WHERE-Filter: Vergleichs- und logische Operatoren
  3. ORDER BY mit einer oder mehreren Spalten
  4. Grundlagen von LIMIT, OFFSET und Pagination
← Zurück zu SQL Academy