Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tbd_ex.doc
Скачиваний:
2
Добавлен:
21.04.2019
Размер:
347.14 Кб
Скачать

11. Jion, одностороннее, полное соединение:

Join - объединение таблиц по некоторому условию (условиям). Join’ы могут содержаться во FROM или WHERE частях запроса, в SELECT, UPDATE и DELETE запросах. Результатом любого join является некая таблица.

Типы:

Перекрестное соединение(CROSS JOIN) - возвращает декартово произведение строк соединяемых таблиц.

Внутреннее соединение (INNER JOIN) - группируются только те строки, значения которых по соединяемым (одноименным) столбцам совпадают.

Внешнее левое соединение LEFT JOIN [OUTER] - в результирующий набор будут выбраны все строки из левой таблицы (первой).

Внешнее правое соединение RIGHT JOIN [OUTER] - в результирующий набор будут выбраны все строки из правой таблицы (второй).

Полное внешнее соединение FULL JOIN [OUTER] - в результирующий набор будут выбраны все строки - как из правой, так и из левой таблицы.

12. Вложенные запросы:

<запрос 0>

<выражение 1> <оператор 2>

<подзапрос 3> …

Выполнение основного запроса при выполнении подзапроса (необратимость последовательности <1><2><3>).

Основные правила:

1.Подзапрос выбирает значение одного поля, тип которого совпадает с типом выражения.

2.Подзапрос может выбрать в качестве результата несколько значений, что может сделать невыполнимым оценку предиката.

3.Подзапрос может вообще не выбрать значений, то основной запрос не сможет оценить предикат (неизвестное значение рассматривается как ложное).

Существуют три основных типа подзапросов, которые:

- работают в списках, вставленных после ключевого слова IN, или тех, которые оператор сравнения изменил с помощью ключевого слова ANY или ALL;

- вставлены оператором немодифицированных сравнений и должны возвращать одно значение;

- являются тестами на существование, начинающимися с ключевого слова EXISTS.

13.Представления и курсоры:

Представление VIEW – это именованная виртуальная таблица, содержание которой выбирается из других таблиц с помощью запросов. При изменении значений в таблицах автоматически меняются значения представления. Наличие имени у такой таблицы позволяет пользователю выполнять с ней операции аналогичные операциям с базовыми таблицами. Когда СУБД отыскивает в команде ссылку на представление, она отыскивает его определение, хранящееся в БД. После этого происходит преобразование пользовательской команды в её эквивалент с учетом запроса. У пользователя возникает впечатление, что он работает с настоящей реально существующей таблицей.

CREATE VIEW <имя представления>

AS SELECT * FROM <имя таблицы>

WHERE (условие)

Для удаления представлений используется команда: DROP VIEW <имя представления>;

Курсор – это вид переменной, которая связана с запросом.

DECLARE CURSOR <имя курсора>

FOR SELECT <список атрибутов>

FROM <имя таблицы>

WHERE (условие);

Управление курсором:

DECLARE – создание или объявление курсора;

OPEN – открытие курсора, т.е. наполнение его данными;

FETCH – выборка из курсора и изменение строк данных с помощью курсора;

CLOSE – закрытие курсора;

DEALLOCATE – освобождение курсора, т.е. удаление курсора как объекта.

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