Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_k_ekzamenu_po_BD (2).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
951 Кб
Скачать
☆

64.Структурированный язык запросов sql. Использование псевдонимов.

Псевдонимы таблиц.

Для различения одноименных столбцов из разных таблиц используются префиксы в виде имен таблиц. Использование префиксов в виде имен таблиц увеличивает производительность запроса. Одноименные столбцы из разных таблиц можно различать по их псевдонимам. Однако как быть в том случае, когда имена таблиц громоздки или совпадают?

Для разрешения такой ситуации используют псевдонимы таблиц. При этом необходимо следовать следующим правилам:

  • перед именами столбцов рекомендуется указывать псевдонимы таблиц;

  • псевдонимы таблиц действительны только для данной команды SELECT;

  • если псевдоним таблицы создан, перед ссылкой на столбец следует указывать его, а не имя таблицы.

Пример: Вывод наименования клиента, номера региона и названия региона для всех клиентов. Используются псевдонимы столбцов, а для упрощения ссылок на таблицы – псевдонимы таблиц.

Псевдонимы таблиц могут содержать до тридцати символов, но чем они короче, тем лучше. Действие псевдонима таблицы распространяется лишь на текущую команду SELECT. Использование псевдонимов таблиц позволяет уменьшить объем кода SQL, что сокращает расход памяти.

Дополнительные условия поиска.

Помимо соединения в предложении WHERE можно задавать и другие критерии для ограничения получаемых в запросе строк. Поскольку соединение необходимо для подбора соответствий, дополнительное условие добавляется с помощью оператора AND.

Пример: Вывод фамилии, номера отдела и названия отдела сотрудника "Menchu".

LAST_NAME ----------------

DEPT_ID ----------------

NAME ----------------

Menchu

42

Operations

Пример: Вывод фамилии, названия региона и процента комиссионных всех служащих, получающих комиссионные.

LAST_NAME -----------------

NAME ---------------------

COMMISSION_PCT ------------------------

Magee

North America

10

Giljum

Couth America

12.5

Sedeghi

Africa / Middle East

10

Nguyen

Asia

15

Dumas

Europe

17.5

. . .

 

 

Не-эквисоединения.

Не-эквисоединение возникает в случае, если ни один столбец одной таблицы не соответствует точно столбцу другой таблицы. Условие соединения содержит оператор, не являющийся оператором равенства (=).

Пример: Создание не-эквисоединения для вычисления категории служащего по заработной плате. Заработная плата должна быть между любой парой нижнего и верхнего значения диапазона зарплат.

E.LAST_NAME -----------------

E.TITLE --------------

E.SALARY ------------

S.GRADE -----------

SMITH

CLERK

800.00

1

ADAMS

CLERK

1,100.00

1

JAMES

CLERK

950.00

1

WARD

SALESMAN

1,250.00

2

MARTIN

SALESMAN

1,250.00

2

MILLER

CLERK

1,300.00

2

ALLEN

SALESMAN

1,600.00

3

TURNER

SALESMAN

1,500.00

3

JONES

MANAGER

2,975.00

4

BLAKE

MANAGER

2,850.00

4

CLARK

MANAGER

2,450.00

4

SCOTT

ANALYST

3,000.00

4

FORD

ANALYST

3,000.00

4

KING

PRESIDENT

5,000.00

5

14 rows selected

Могут использоваться и другие операторы, (например, <= и >=), но самый простой оператор – это BETWEEN.

Соединение таблицы с собой.

Рекурсивное соединение возникает в том случае, когда строки таблицы соединяются со строками этой же самой таблицы. При этом в предложении FROM наличие двух таблиц имитируется путем использования двух различных псевдонимов таблицы.

Пример: Вывод имен сотрудников и их менеджеров.

WORKER.LAST_NAME || ‘works for’ || MANAGER.LAST_NAME

---------------------------------------------------------------------------------

Ngao works for Velasquez

Nagayama works for Velasquez

Quick-To-See works for Velasquez

Ropeburn works for Velasquez

Urguhart works for Ngao

Menchu works for Ngao

Biri works for Ngao

Catchpole works for Ngao

Havel works for Ngao

Magee works for Nagayama

Sedeghi works for Nagayama

...

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]