Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические работы Часть 1 / Практическая работа14

.pdf
Скачиваний:
52
Добавлен:
09.12.2018
Размер:
383.77 Кб
Скачать

Практическая работа № 14 Операции T-SQL

Операция MERGE в языке Transact-SQL. Постраничная выборка на T-SQL. OFFSETFETCH в T-SQL. PIVOT и UNPIVOT в Transact-SQL

1. Создадим исходные таблицы и заполним их. TestTable – это будет целевая таблица, т.е. та над которой мы будем производить все изменения, и TestTableDop – это таблица источник, т.е. данные в соответствии с чем, мы будем производить изменения.

2. Просмотрите полученные таблицы

3. Обновление и добавление данных с помощью MERGE.

4. Синхронизация таблиц с помощью MERGE.

5. Операция MERGE с дополнительным условием.

Постраничная выборка на T-SQL

1.Создайте БД и в ней следующую таблицу

2.Заполните её

3.Создаем табличную функцию для постраничной навигации на T-SQL

4.Табличная функция для постраничной навигации групп на T-SQL

OFFSET-FETCH в T-SQL

1. Создадим таблицу TestTable, содержащую следующие данные:

PIVOT и UNPIVOT в Transact-SQL

1. Создадим таблицу со следующей структурой

2. Сформируем отчет о размере премии, которую получал каждый сотрудник за год, в течение нескольких лет.

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

4. Развернем эту таблицу, с помощью оператора UNPIVOT

Формирование динамического SQL запроса PIVOT

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

Задача 1 – Получим суммы реализации товаров по годам с группировкой по категории, стандартный пример использования оператора PIVOT, т.е. нам нужно просуммировать данные, с группировкой по одному столбцу.

Задача 2 – Осуществим группировку по двум столбцам, при этом укажем другую статистическую функцию, не SUM (сумма), а COUNT (количество), т.е. процедура нам вернет количество записей по годам с группировкой по категории и по товару.

Задача 3 – Применим условие к запросу на получение данных из источника, чтобы анализировать не всю таблицу, а только определённые данные.