← Alle AufgabenSQL · Junior

Nutzer ohne E-Mail

Finde aktive Nutzer (nicht gelöscht: deleted_at ist leer), die keine E-Mail haben: sie ist NULL, ein leerer String oder nur Leerzeichen. Spalten id und name, aufsteigend nach id sortiert.

Tabellen

CREATE TABLE users (
  id         int PRIMARY KEY,
  name       text NOT NULL,
  email      text,
  deleted_at timestamp
);

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 users VALUES
      (1, 'Ann', 'ann@mail.com', NULL),
      (2, 'Bob', NULL, NULL),
      (3, 'Cid', '', NULL),
      (4, 'Dee', NULL, '2024-05-01');
  2. -- whitespace-only email counts as missing
    INSERT INTO users VALUES
      (1, 'Eva', '   ', NULL),
      (2, 'Max', 'max@mail.com', NULL);
  3. -- everyone is fine
    INSERT INTO users VALUES (1, 'Ann', 'a@b.c', NULL);