SQLAlchemy Core - Verwenden von Aliasen

Der Alias ​​in SQL entspricht einer "umbenannten" Version einer Tabelle oder SELECT-Anweisung, die immer dann auftritt, wenn Sie "SELECT * FROM table1 AS a" sagen. Der AS erstellt einen neuen Namen für die Tabelle. Mit Aliasen kann auf jede Tabelle oder Unterabfrage mit einem eindeutigen Namen verwiesen werden.

Im Falle einer Tabelle kann dieselbe Tabelle in der FROM-Klausel mehrmals benannt werden. Es enthält einen übergeordneten Namen für die durch die Anweisung dargestellten Spalten, sodass auf sie relativ zu diesem Namen verwiesen werden kann.

In SQLAlchemy kann jede Tabelle, jedes select () -Konstrukt oder jedes andere auswählbare Objekt mithilfe von in einen Alias ​​umgewandelt werden From Clause.alias()Methode, die ein Alias-Konstrukt erzeugt. Die Funktion alias () im Modul sqlalchemy.sql stellt einen Alias ​​dar, wie er normalerweise mit dem Schlüsselwort AS auf eine Tabelle oder Unterauswahl in einer SQL-Anweisung angewendet wird.

from sqlalchemy.sql import alias
st = students.alias("a")

Dieser Alias ​​kann jetzt im select () -Konstrukt verwendet werden, um auf die Schülertabelle zu verweisen -

s = select([st]).where(st.c.id>2)

Dies übersetzt den SQL-Ausdruck wie folgt:

SELECT a.id, a.name, a.lastname FROM students AS a WHERE a.id > 2

Wir können diese SQL-Abfrage jetzt mit der Methode execute () des Verbindungsobjekts ausführen. Der vollständige Code lautet wie folgt:

from sqlalchemy.sql import alias, select
st = students.alias("a")
s = select([st]).where(st.c.id > 2)
conn.execute(s).fetchall()

Wenn die obige Codezeile ausgeführt wird, wird die folgende Ausgabe generiert:

[(3, 'Komal', 'Bhandari'), (4, 'Abdul', 'Sattar'), (5, 'Priya', 'Rajhans')]