MySQL Alias

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.

Mitarbeitertabelle

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

MySQL-Abfrage ohne Alias Beispiel

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

Beispiel für MySQL-Spaltenalias

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

MySQL Alias with ORDER BY example

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

MySQL-Alias mit Ausdrucksbeispiel

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:

 Kunden- und Auftragstabellen

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

Beispiel für MySQL-Tabellenalias

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



+