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

9, 10 По каждому предмету.

TRANSFORM count(оценка)

SELECT предмет

FROM успеваемость

GROUP BY предмет

PIVOT оценка;

Задание 7.16. Разработать перекрестный запрос, определяющий количество оценок 2, 3, …

9, 10 В каждой группе факультета, аббревиатура которого вводится как параметр.

PARAMETERS [введите аббревиатуру факультета] Text ( 255 );

TRANSFORM count(оценка)

SELECT аббревиатура, группа

FROM Факультет INNER JOIN (Специальности INNER JOIN (Студенты INNER JOIN Успеваемость ON Студенты.Фамилия=Успеваемость.Фамилия) ON Специальности.[Код специальности]=Студенты.[Код специальности]) ON Факультет.[Код факультета]=Специальности.[Код факультета]

WHERE аббревиатура=[введите аббревиатуру факультета]

GROUP BY аббревиатура, группа

PIVOT оценка;

Задание 7.17. Провести модификацию базы данных – добавить поле Кол_студ с типом

данных Byte в таблицу Специальности.

alter table специальности

add Кол_студ byte not null

Задание 7.18. Разработать запрос-действие на создание таблицы, в которой подсчитывается

количество студентов на каждой специальности.

SELECT Специальности.[Название специальности], Count(Студенты.Фамилия) AS Кол_студ INTO [Студенты на специальности]

FROM Специальности INNER JOIN Студенты ON Специальности.[Код специальности]=Студенты.[Код специальности]

GROUP BY Специальности.[Название специальности];

Задание 7.19. Разработать запрос на обновление поля Кол_студ данными таблицы,

созданной по запросу задания 7.18.

UPDATE Специальности INNER JOIN [Студенты на специальности] ON Специальности.[Название специальности]=[Студенты на специальности].[Название специальности] SET Специальности.Кол_студ = [Студенты на специальности].Кол_студ;

Задание 7.20. Разработать запрос на удаление таблицы, созданной в задании 7.18.

DROP TABLE [Студенты на специальности];

Контрольные вопросы

1. Каково назначение запроса-выборки?

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

2. Как задается и используется псевдоним для таблиц и полей?

Колонкам можно присваивать алиасные имена (псевдонимы). Каждой таблице можно присваивать алиасные имена (псевдонимы). Имена полей, содержащие пробелы или разделители, заключаются в квадратные скобки. Символ-заменитель * означает выборку всех полей, что соответствует ключевому слову ALL. Предикат DISTINCT следует применять в тех случаях, когда требуется отбросить блоки данных, содержащие дублирующие записи в выбранных полях (как в проекции).

3. Какими средствами языка sql выполняются такие операции реляционной алгебры,

как проекция и селекция? Приведите примеры.

Селекция―горизонтальный срез‖ – используется для создания таблицы из имеющихся, производя отбор строк из старой таблицы на основании некоторого условия

A WHERE Зарплата < 3000 или

δЗарплата<3000](А)

Проекция: Операция проекции представляет из себя выборку из каждого кортежа отношения значений атрибутов, входящих в список A, и удаление из полученного отношения повторяющихся строк. Операция проекции позволяет выделить подмножество столбцов таблицы. Проекция ―вертикальный срез‖ –используется для выделения данных, в которых удалены все дубликаты данного среза.

Например: A [Город_P] или π[Город_Р](А) 4. Можно ли вывести из таблицы первые пять записей? Ответ пояснить.

Да можно, ТОР 5. Предикат TOP n [PERCENT] вводится после оператора SELECT и возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Предикат TOP не осуществляет выбор между равными значениями.

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