Учебники

Ядро SQLAlchemy – Использование псевдонимов

Псевдоним в 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()

Когда вышеуказанная строка кода выполняется, она генерирует следующий вывод –