Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Алиасы таблиц

Алиасы таблиц

Если имя таблицы длинное или запутанное, или если существует много таблиц, использование алиасов таблиц будет полезным (и в некоторых случаях необходимым) для большей ясности операторов. Обработчик запроса трактует алиас таблицы как синоним таблицы, которую алиас представляет. Алиасы таблиц обязательны в запросах, которые формируют множество потоков из одной и той же таблицы.

! ! !

СОВЕТ. В базе данных диалекта 3, которая была создана с использованием ограниченных идентификаторов (delimited identifiers), комбинированных с символами в нижнем регистре или при смешивании регистров в именовании объектов и/или с использованием "неправильных символов", написание запросов может стать довольно утомительным занятием, часто порождающим ошибки, если не используются алиасы.

. ! .

Алиас может быть использован везде, где он допустим для обозначения имени таблицы, как квалификатор; имена всех таблиц должны быть заменены на алиасы. Смешивание идентификаторов таблиц с алиасами в одном и том же запросе приведет к исключениям в Firebird 1.5 и следующих версиях.

Следующий пример использует идентификаторы таблиц:

SELECT

TABLEA.COL1,

TABLEA.COL2,

TABLEB.COLB,

TABLEB.COLC,

TABLEC.ACOL

FROM TABLEA

JOIN TABLEB ON TABLEA.COL1 = TABLEB.COLA

JOIN TABLEC ON TABLEB.COLX = TABLEC.BCOL

WHERE TABLEA.STATUS = 'SOLD'

AND TABLEC.SALESMAN_ID = '44'

ORDER BY TABLEA.COL1;

Тот же пример, использующий алиасы:

SELECT

A.COL1,

A.COL2,

B.COLB,

B.COLC,

C.ACOL

FROM TABLEA А /* задает алиас */

JOIN TABLEB В ON A.COL1 = В.COLA

JOIN TABLEC С ON В.COLX = C.BCOL

WHERE A.STATUS = 'SOLD'

AND С.SALESMAN_ID = '44'

ORDER BY A.COL1;

Оглавление книги

Оглавление статьи/книги

Генерация: 1.229. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз