Псевдоним в SQL соответствует «переименованной» версии таблицы или инструкции SELECT, которая появляется каждый раз, когда вы говорите «SELECT * FROM table1 AS a». AS создает новое имя для таблицы. Псевдонимы позволяют ссылаться на любую таблицу или подзапрос с уникальным именем.
В случае таблицы это позволяет одной и той же таблице называться в предложении FROM несколько раз. Он предоставляет родительское имя для столбцов, представленных оператором, позволяя ссылаться на них относительно этого имени.
В SQLAlchemy любую конструкцию Table, select () или другой выбираемый объект можно превратить в псевдоним с помощью метода From Clause.alias () , который создает конструкцию Alias. Функция alias () в модуле sqlalchemy.sql представляет псевдоним, который обычно применяется к любой таблице или подвыбору в выражении SQL с использованием ключевого слова AS.
from sqlalchemy.sql import alias st = students.alias("a")
Этот псевдоним теперь можно использовать в конструкции select () для ссылки на таблицу студентов —
s = select([st]).where(st.c.id>2)
Это переводит в выражение SQL следующим образом:
SELECT a.id, a.name, a.lastname FROM students AS a WHERE a.id > 2
Теперь мы можем выполнить этот SQL-запрос с помощью метода execute () объекта соединения. Полный код выглядит следующим образом —
from sqlalchemy.sql import alias, select st = students.alias("a") s = select([st]).where(st.c.id > 2) conn.execute(s).fetchall()
Когда вышеуказанная строка кода выполняется, она генерирует следующий вывод —