Tabellen und Spalten Aliasse in der from-Klausel


Die From- und Join-Klauseln erlauben es der entsprechenden Tabelle und deren Spalten einen neuen Namen zuzuweisen. Beim Tabellennamen nutzt man das häufig, damit man in der Anweisung kürzere Namen verwenden kann. Bei den Spaltennamen braucht man diese Funktionalität hauptsächlich um Spalten einen Namen zuzuweisen, die noch keinen Benutzerdefinierten Namen haben.

Die Syntax sehr einfach: Der Datenquelle in einer From- oder Join-Klausel folgt das optionale Schlüsselwort As sowie der Name, unter dem diese Datenquelle in dieser Anweisung fortan bekannt sein soll. Danach folgt, optional in Klammern, die Liste der neuen Spaltennamen.

FROM … [[AS] alias [(<derived column list>)]]

Dabei ersetzen die neuen Namen die alten in den semantisch darauffolgenden Klauseln (on/using, where, group by, having, window, select).

SELECT b, a
  FROM (VALUES (1, 'a')
       ) t(a, b)

Wenn du diese Seite magst, magst du vielleicht auch …

… meine Newsletter bestellen, gratis Sticker erhalten, mein Buch kaufen oder an einer Schulung teilnehmen.

Anwendungsfälle

Konforme Alternativen

Die With-Klausel kann ebenfalls Spaltenname auf Basis ihrer Position zuweisen.

WITH t (a, b) AS (
  VALUES (1, 'a')
)
SELECT b, a
  FROM t

Kompatibilität

BigQuery 2025-09-02Db2 (LUW) 12.1.2MariaDB 12.0.2aMySQL 9.4.0bOracle DB 23.9cPostgreSQL 17dSQL Server 2022aeSQLite 3.50.0Erlaubt as vor TabellenaliasFrom-Klausel SpaltennamenWith-Klausel (nicht-rekursiv)
  1. Nur für Values und Select: FROM (VALUES | SELECT …) t(c1, c2)
  2. Nur für Select: FROM (SELECT …) t(c1, c2)
  3. Nur für Values, dann aber verpflichtend: FROM (VALUES …) t(c1, c2)
  4. Akzeptiert weniger Spalten in <derived column list> als in der Tabelle
  5. Nur am Anfang einer Anweisung: z.B.: with...insert...select.

Erweiterungen

Manche Systeme verzichten auf den vom Standard vorgeschriebene Namenszwang in manchen Fällen.

Manche Systeme akzeptieren es, wenn man weniger Spaltennamen angibt, als die Tabelle hat, sodass man nur den ersten Spalten einen neuen Namen zuweist.

BigQuery 2025-09-02Db2 (LUW) 12.1.2MariaDB 12.0.2MySQL 9.4.0Oracle DB 23.9PostgreSQL 17SQL Server 2022SQLite 3.50.0Optional für: (select …)Optional für: (values …)Optional für: json_table(…)Fewer columns
Verwandet Funktionen

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Fußnoten

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2015-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO