SQLAlchemy Core - Korzystanie z aliasów

Alias ​​w języku SQL odpowiada „zmienionej nazwie” wersji tabeli lub instrukcji SELECT, która pojawia się za każdym razem, gdy powiesz „SELECT * FROM table1 AS a”. AS tworzy nową nazwę dla tabeli. Aliasy umożliwiają odwoływanie się do dowolnej tabeli lub podzapytania za pomocą unikalnej nazwy.

W przypadku tabeli umożliwia to wielokrotne nazwanie tej samej tabeli w klauzuli FROM. Zawiera nazwę nadrzędną dla kolumn reprezentowanych przez instrukcję, umożliwiając odwoływanie się do nich względem tej nazwy.

W SQLAlchemy dowolną konstrukcję Table, select () lub inny wybieralny obiekt można przekształcić w alias za pomocą From Clause.alias()metoda, która tworzy konstrukcję Alias. Funkcja alias () w module sqlalchemy.sql reprezentuje alias, zwykle stosowany do dowolnej tabeli lub podwyboru w instrukcji SQL przy użyciu słowa kluczowego AS.

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

Ten alias może być teraz używany w konstrukcji select () do odwoływania się do tabeli uczniów -

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

Przekłada się to na wyrażenie SQL w następujący sposób -

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

Możemy teraz wykonać to zapytanie SQL za pomocą metody execute () obiektu connection. Kompletny kod jest następujący -

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

Po wykonaniu powyższej linii kodu generuje następujące dane wyjściowe -

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