← Alle AufgabenSQL · Junior

Filtern und sortieren

Liste die Mitarbeiter der Abteilung Engineering mit einem Gehalt über 5000 auf: Spalten name und salary.

Höchste Gehälter zuerst, und bei gleichem Gehalt alphabetisch nach Namen.

Tabellen

CREATE TABLE employees (
  id         int PRIMARY KEY,
  name       text NOT NULL,
  department text NOT NULL,
  salary     int NOT NULL
);

Tests (3)

Jeder Test füllt die Tabellen mit eigenen Daten und vergleicht das Ergebnis deiner Abfrage mit dem erwarteten: dieselben Spalten (Namen und Reihenfolge) und dieselben Zeilen in derselben Reihenfolge, ORDER BY zählt also. Die Abfrage läuft in echtem PostgreSQL direkt im Browser; der erste Start lädt es herunter (etwa 5 MB).

  1. INSERT INTO employees VALUES
      (1, 'Ann', 'Engineering', 7000),
      (2, 'Bob', 'Sales', 9000),
      (3, 'Cid', 'Engineering', 4000),
      (4, 'Dee', 'Engineering', 8000);
  2. -- equal salaries: sorted by name
    INSERT INTO employees VALUES
      (1, 'Zoe', 'Engineering', 6000),
      (2, 'Max', 'Engineering', 6000),
      (3, 'Eva', 'Engineering', 5000);
  3. -- nobody matches
    INSERT INTO employees VALUES
      (1, 'Ann', 'Sales', 9000),
      (2, 'Bob', 'Engineering', 5000);