Datenbanken · Middle · Frage 31 von 75

Was erlaubt LEFT JOIN LATERAL?

SELECT u.name, o.*
FROM users u
LEFT JOIN LATERAL (
  SELECT * FROM orders WHERE orders.user_id = u.id
  ORDER BY created_at DESC LIMIT 3
) o ON true;
Antwort zeigen

Richtige Antwort: Eine FROM-Unterabfrage, die frühere Tabellen referenziert

Erklärung

Es ist ein sauberer Weg, „Top N pro Gruppe“ zu schreiben. Mit einem Index auf (user_id, created_at) ist jede Abfrage billig.

Zum Weiterlesen

Fehler in der Frage

Datenbanken · Middle · Frage 31

Teste dich selbst

Mach den Test Datenbanken · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen