Запросы и подзапросы могут комбинироваться из нескольких команд Select с помощью операторов:
UNION – объединение.
Результат выполнения – не дублирующиеся записи, полученные в результате первого и второго запроса.
INTERSECT – пересечение.
Результат – записи, полученные как в первом, так и во втором запросах.
EXCEPT
Результат – записи, извлеченные в первом запросе за исключением записей, полученных во втором запросе.
Пример. Выдать сотрудников с фамилией Иванов и получающих больше, чем 100 рублей:
Select Фамилия, Оклад
From Сотрудники
Where Фамилия = ‘Иванов’
UNION
Select Фамилия, Оклад
From Сотрудники
Where Оклад > 100
Замечание:
Результирующие таблицы объединяемых запросов должны быть совместимы, т.е. иметь одинаковое количество столбцов и одинаковые типы столбцов в порядке их перечисления.
Не требуется, чтобы объединяемые таблицы имели одинаковые имена колонок.
Наименования колонок в результирующем запросе будут автоматически взяты из результатов первого запроса.
Служат для повышения скорости обработки таблиц. Для создания индексов существует команда CREATE INDEX:
CREATE INDEX имя ON имя таблицы (столбец1{, столбец2, …})
Достоинства: ускоряется поиск; недостатки: требуется дополнительное дисковое пространство.
Пример. Создать индекс по столбцу Фамилия для таблицы Сотрудники:
CREATE INDEX Сотр_фам ON Сотрудники (Фам):
Если таблица имеет индекс по некоторому столбцу, то этот индекс будет использоваться при поиске информации в таблице, если условие поиска содержит данные из этого столбца.
Найдем данные о сотруднике Егорове:
Select *From Сотрудники
Where Фамилия = ‘Егоров’
Индекс используется только в том случае, если проиндексированный столбец не указан в качестве аргументов функции.
Часть I: ИНФОРМАЦИОННЫЕ СИСТЕМЫ И
ДОРЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ………..1