Составители:
Рубрика:
Фамилия Название_ отдела Точка
Иванов КТиПО Мурманск
Петухов КТиПО Мурманск
Рис. 5.1. Сотрудники, бывшие в командировке в Мурманске
Ответ получен следующим образом: СУБД последовательно формирует строки
декартова произведения таблиц, перечисленных во фразе FROM, проверяет,
удовлетворяют ли данные сформированной строки условиям фразы WHERE, и если
удовлетворяют, то включает в ответ на запрос те ее поля, которые перечислены во фразе
SELECT.
Следует подчеркнуть, что в SELECT и WHERE
ссылки на все атрибуты
(отдельные столбцы таблицы) рекомендуется уточнять именем соответствующей
таблицы. Например, Командировки.Точка, Сотрудник.Город, Сотрудник.* и т.п.
Такой вид соединения называют обычно естественным соединением, так как
таблицы объединяются только на основе первичных и внешних ключей, с указанием во
фразе SELECT определенного количества атрибутов, подлежащих выводу в
результирующей
таблице.
Отметим одну важную особенность описания запросов, которую используют
программисты. Вместо громоздких имен таблиц используются псевдонимы (alias). Так,
для предыдущего запроса запись в алиасной форме будет следующей:
SELECT P.Фамилия, B.Название_отдела, K.Точка
FROM Отдел_Сотрудник S, Сотрудник P,Отдел B, Командировки K
WHERE P.Ид_Сотр=S.Ид_Сотр
AND S.Ид_Отд=B.Ид_Отд AND S.Ид_Сотр=К.Ид_Сотр
AND B.
Название_ отдела="Кафедра КТиПО"
AND К.Точка="Мурманск"
AND К.Убытия IS NOT NULL;
Некоторые системы требуют указывать ключевое слово AS перед определением
псевдонимов. Псевдоним как бы заменяет имя таблицы во фразе FROM, а затем этим
новым именем пользуются для обозначения имен таблиц. Общее правило создания
псевдонимов для всех СУБД очень простое. После набора имени таблицы поставьте
пробел и затем набирайте псевдоним для таблицы. Отметим, что "время жизни"
псевдонима определено только внутри запроса.
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »
