РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
450 of 711 menu

Функция label

Функция label присваивает псевдоним столбцу или выражению в SQL-запросе. Первым параметром передаётся имя псевдонима, а вызывается она как метод у объекта столбца или выражения. В итоговом SQL-запросе псевдоним выводится после ключевого слова AS.

Синтаксис

column.label(name)

Пример

Давайте создадим таблицу и присвоим псевдоним столбцу title:

from sqlalchemy import Table, Column, Integer, String, MetaData, select metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String) ) stmt = select(articles.c.title.label('article_title')) print(stmt)

Итоговый SQL запрос:

SELECT articles.title AS article_title FROM articles

Пример

Давайте присвоим псевдоним результату агрегатной функции count:

from sqlalchemy import Table, Column, Integer, String, MetaData, select, func metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String) ) stmt = select(func.count(articles.c.id).label('total')) print(stmt)

Итоговый SQL запрос:

SELECT count(articles.id) AS total FROM articles

Пример

Давайте присвоим псевдоним нескольким столбцам одновременно и выполним запрос:

from sqlalchemy import Table, Column, Integer, String, MetaData, select metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String) ) stmt = select( articles.c.id.label('article_id'), articles.c.title.label('article_title') ) print(stmt)

Итоговый SQL запрос:

SELECT articles.id AS article_id, articles.title AS article_title FROM articles

Пример

Давайте используем псевдоним для доступа к результату запроса по имени через атрибут label:

<+python+> from sqlalchemy import Table, Column, Integer, String, MetaData, select, create_engine metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String) ) engine = create_engine('sqlite:///:memory:') metadata.create_all(engine) with engine.connect() as conn: conn.execute(articles.insert(), [ {'id': 1, 'title': 'article', 'text': 'text 1'}, {'id': 2, 'title': 'user', 'text': 'text 2'} ]) stmt = select(articles.c.title.label('article_title')) res = conn.execute(stmt).all() print(res) <-python+>

Результат выполнения кода:

[('article',), ('user',)]

Смотрите также

  • функцию column,
    которая создаёт объект столбца таблицы
  • функцию func,
    которая создаёт вызов SQL-функции
  • функцию func.count,
    которая считает количество строк
  • функцию desc,
    которая задаёт сортировку по убыванию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить