Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie MySQL Alias verwenden, um die Lesbarkeit der Abfragen zu verbessern.
MySQL unterstützt zwei Arten von Aliasen, die als Spaltenalias und Tabellenalias bekannt sind.
MySQL Alias für Spalten
Manchmal sind Spaltennamen so technisch, dass die Ausgabe der Abfrage sehr schwer zu verstehen ist. Um einer Spalte einen beschreibenden Namen zu geben, können Sie einen Spaltenalias verwenden.
Die folgende Anweisung veranschaulicht die Verwendung des Spaltenalias:
Code language: SQL (Structured Query Language) (sql)
Um einer Spalte einen Alias zuzuweisen, verwenden Sie das Schlüsselwort AS
gefolgt vom Alias. Wenn der Alias Leerzeichen enthält, müssen Sie ihn wie folgt zitieren:
Code language: SQL (Structured Query Language) (sql)
Da das Schlüsselwort AS
optional ist, können Sie es in der Anweisung weglassen. Beachten Sie, dass Sie einem Ausdruck auch einen Alias geben können.
Schauen wir uns die employees
-Tabelle in der Beispieldatenbank an.
Die folgende Abfrage wählt die Vor- und Nachnamen der Mitarbeiter aus. Es verwendet die Funktion CONCAT_WS()
, um Vorname und Nachname zum vollständigen Namen zu verketten.
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die Spaltenüberschrift ist ziemlich schwer zu lesen. Um dies zu lösen, können Sie der Spaltenüberschrift der Ausgabe einen Spaltenalias zuweisen, wie in der folgenden Abfrage gezeigt:
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
In MySQL können Sie den Spaltenalias in den Klauseln ORDER BY
, GROUP BY
und HAVING
verwenden, um auf die Spalte zu verweisen.
Die folgende Abfrage verwendet den Spaltenalias in der Klausel ORDER BY
, um die vollständigen Namen des Mitarbeiters alphabetisch zu sortieren:
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die folgende Anweisung wählt die Bestellungen aus, deren Gesamtbetrag größer als 60000 ist. Es verwendet Spaltenaliase in den Klauseln GROUP BY
und HAVING
.
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Beachten Sie, dass Sie in der WHERE
-Klausel keinen Spaltenalias verwenden können. Der Grund dafür ist, dass beim Auswerten der WHERE
-Klausel die Werte der in der SELECT
-Klausel angegebenen Spalten noch nicht ausgewertet werden.
MySQL Alias für Tabellen
Sie können einen Alias verwenden, um einer Tabelle einen anderen Namen zu geben. Sie weisen einer Tabelle einen Alias zu, indem Sie das Schlüsselwort AS
wie folgt verwenden:
Code language: SQL (Structured Query Language) (sql)
Der Alias für eine Tabelle heißt Tabellenalias. Wie der Spaltenalias ist das Schlüsselwort AS
optional, sodass Sie es weglassen können.
Diese Abfrage zeigt, wie der employees
Tabellenalias als e zugewiesen wird:
Code language: SQL (Structured Query Language) (sql)
Sobald einer Tabelle ein Alias zugewiesen wurde, können Sie mithilfe der folgenden Syntax auf die Tabellenspalten verweisen:
Code language: SQL (Structured Query Language) (sql)
Zum Beispiel:
Code language: SQL (Structured Query Language) (sql)
Die Tabellenaliase werden häufig in der Anweisung verwendet, die INNER JOIN
, LEFT JOIN
, RIGHT JOIN
klauseln und in Unterabfragen.
Schauen wir uns die Tabellen customers
und orders
an:
Beide Tabellen haben den gleichen Spaltennamen:customerNumber
.Ohne den Tabellenalias zum Qualifizieren der Spalte customerNumber
zu verwenden, erhalten Sie eine Fehlermeldung wie:
Code language: SQL (Structured Query Language) (sql)
Um diesen Fehler zu vermeiden, verwenden Sie den Tabellenalias, um die Spalte customerNumber
zu qualifizieren:
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die obige Abfrage wählt den Kundennamen und die Anzahl der Bestellungen aus den Tabellen customers
und orders
aus. Es verwendet c
als Tabellenalias für die Tabelle customers
und o
als Tabellenalias für die Tabelle orders
. Auf die Spalten in den Tabellen customers
und orders
wird über die Tabellenaliase verwiesen.
Wenn Sie den Alias in der obigen Abfrage nicht verwenden, müssen Sie den Tabellennamen verwenden, um auf seine Spalten zu verweisen, wodurch die Abfrage langwierig und weniger lesbar wird:
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
In diesem Tutorial haben Sie gelernt, MySQL-Aliase einschließlich Spalten- und Tabellenaliase zu verwenden.
- War dieses Tutorial hilfreich?
- JaNein