Heim >Datenbank >MySQL-Tutorial >Warum benötigt MySQL Aliase für alle abgeleiteten Tabellen?

Warum benötigt MySQL Aliase für alle abgeleiteten Tabellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-15 09:46:11812Durchsuche

Why Does MySQL Require Aliases for All Derived Tables?

Den Fehler verstehen: „Jede abgeleitete Tabelle muss ihren eigenen Alias ​​haben“

Beim Ausführen einer MySQL-Abfrage mit verschachtelten abgeleiteten Tabellen (untergeordnete Tabellen) Abfragen) kann ein Fehler auftreten, der besagt: „Jede abgeleitete Tabelle muss ihren eigenen Alias ​​haben.“ Dieser Fehler wird ausgelöst, wenn Unterabfragen keine eindeutigen Aliase zugewiesen werden.

Ursache und Lösung:

Eine abgeleitete Tabelle wird erstellt, indem eine Unterabfrage in Klammern eingeschlossen wird. Für jede abgeleitete Tabelle erfordert MySQL die Einbeziehung eines Alias, eines Namens, der zur Bezugnahme auf die Tabelle und ihre Daten verwendet wird. Der Zweck des Alias ​​besteht darin, zwischen mehreren abgeleiteten Tabellen innerhalb der äußeren Abfrage zu unterscheiden.

Um diesen Fehler zu beheben, weisen Sie jeder Unterabfrage einen Alias ​​zu, indem Sie das Schlüsselwort AS gefolgt von einem eindeutigen Namen verwenden:

SELECT ID FROM (
    SELECT ID, msisdn FROM (
        SELECT * FROM TT2
    ) AS TT2Subquery
) AS TableAlias

In dieser modifizierten Abfrage wird der Alias ​​TT2Subquery der innersten Unterabfrage und TableAlias ​​der äußeren Unterabfrage zugewiesen. Diese Aliase ermöglichen es MySQL, zwischen den beiden Unterabfragen zu unterscheiden und sie entsprechend zu verbinden.

Da die äußerste Unterabfrage alternativ nur eine einzige Spalte abruft, kann sie auch ganz weggelassen werden:

SELECT ID FROM TT2

Diese vereinfachte Abfrage macht Aliase für Unterabfragen überflüssig und behält gleichzeitig das gleiche Ergebnis bei.

Das obige ist der detaillierte Inhalt vonWarum benötigt MySQL Aliase für alle abgeleiteten Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn