SQLAlchemy Core - Utilisation d'alias

L'alias en SQL correspond à une version «renommée» d'une table ou d'une instruction SELECT, qui se produit chaque fois que vous dites «SELECT * FROM table1 AS a». L'AS crée un nouveau nom pour la table. Les alias permettent à toute table ou sous-requête d'être référencée par un nom unique.

Dans le cas d'une table, cela permet à la même table d'être nommée plusieurs fois dans la clause FROM. Il fournit un nom parent pour les colonnes représentées par l'instruction, leur permettant d'être référencées par rapport à ce nom.

Dans SQLAlchemy, n'importe quelle table, construction select () ou autre objet sélectionnable peut être transformé en alias à l'aide de From Clause.alias()méthode, qui produit une construction Alias. La fonction alias () du module sqlalchemy.sql représente un alias, tel qu'il est généralement appliqué à n'importe quelle table ou sous-sélection dans une instruction SQL utilisant le mot clé AS.

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

Cet alias peut maintenant être utilisé dans la construction select () pour faire référence à la table des étudiants -

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

Cela se traduit par une expression SQL comme suit -

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

Nous pouvons maintenant exécuter cette requête SQL avec la méthode execute () de l'objet de connexion. Le code complet est le suivant -

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

Lorsque la ligne de code ci-dessus est exécutée, elle génère la sortie suivante -

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