17:21
Обновление и удаление представлений: Команды ALTER VIEW и DROP VIEW.

Курс по SQL

Урок 34: Обновление и удаление представлений: Команды ALTER VIEW и DROP VIEW

В этом уроке мы рассмотрим обновление и удаление представлений в SQL с использованием команд ALTER VIEW и DROP VIEW. Представления (VIEW) позволяют создавать виртуальные таблицы на основе результатов запросов. Иногда возникает необходимость изменить существующее представление или удалить его. Мы изучим синтаксис и примеры использования команд ALTER VIEW и DROP VIEW.

Обновление представлений с помощью ALTER VIEW

Команда ALTER VIEW используется для изменения существующего представления. Рассмотрим пример, где мы добавляем новое поле в представление СтудентыКурсы, отображающее оценки студентов:

ALTER VIEW СтудентыКурсы AS
SELECT Студенты.Имя, Курсы.Название AS Курс, Студенты.Оценка
FROM Студенты
JOIN Курсы ON Студенты.КурсID = Курсы.ID;

Результат выполнения

Представление СтудентыКурсы обновлено успешно.

Синтаксис команды ALTER VIEW

Синтаксис команды ALTER VIEW следующий:

ALTER VIEW имя_представления AS
SELECT столбцы
FROM таблицы
WHERE условие;

Команда ALTER VIEW позволяет изменить структуру существующего представления на основе нового запроса SELECT.

Удаление представлений с помощью DROP VIEW

Команда DROP VIEW используется для удаления существующего представления. Рассмотрим пример, где мы удаляем представление СтудентыКурсы:

DROP VIEW СтудентыКурсы;

Результат выполнения

Представление СтудентыКурсы удалено успешно.

Синтаксис команды DROP VIEW

Синтаксис команды DROP VIEW следующий:

DROP VIEW имя_представления;

Команда DROP VIEW позволяет удалить существующее представление из базы данных.

Примеры использования ALTER VIEW и DROP VIEW

Рассмотрим примеры использования команд ALTER VIEW и DROP VIEW для различных задач.

Пример 1: Обновление представления для добавления нового столбца

ALTER VIEW СтудентыКурсы AS
SELECT Студенты.Имя, Курсы.Название AS Курс, Студенты.Оценка
FROM Студенты
JOIN Курсы ON Студенты.КурсID = Курсы.ID;

Теперь мы можем использовать обновленное представление СтудентыКурсы для выборки данных:

SELECT * FROM СтудентыКурсы;

Результат выполнения

Имя | Курс | Оценка
Иван | Математика | 90
Мария | Физика | 70

Пример 2: Удаление представления

DROP VIEW СтудентыКурсы;

Представление СтудентыКурсы будет удалено из базы данных и больше не будет доступно для выборки данных.

Упражнения

Упражнение 1: Обновление представления для добавления нового столбца

Обновите представление СтудентыКурсы для добавления нового столбца, отображающего оценки студентов.

Решение:

ALTER VIEW СтудентыКурсы AS
SELECT Студенты.Имя, Курсы.Название AS Курс, Студенты.Оценка
FROM Студенты
JOIN Курсы ON Студенты.КурсID = Курсы.ID;

Объяснение: Мы обновили представление СтудентыКурсы для добавления нового столбца, отображающего оценки студентов.

Упражнение 2: Удаление представления

Удалите представление СтудентыВысокиеОценки из базы данных.

Решение:

DROP VIEW СтудентыВысокиеОценки;

Объяснение: Мы удалили представление СтудентыВысокиеОценки из базы данных.

Упражнение 3: Обновление представления для изменения условия выборки

Обновите представление КурсыСреднийБалл для отображения только тех курсов, на которых средний балл выше 75.

Решение:

ALTER VIEW КурсыСреднийБалл AS
SELECT Курсы.Название AS Курс, AVG(Студенты.Оценка) AS СреднийБалл
FROM Курсы
JOIN Студенты ON Курсы.ID = Студенты.КурсID
GROUP BY Курсы.Название
HAVING AVG(Студенты.Оценка) > 75;

Объяснение: Мы обновили представление КурсыСреднийБалл для отображения только тех курсов, на которых средний балл выше 75.

Упражнение 4: Использование обновленного представления для выборки данных

Используйте обновленное представление СтудентыКурсы для выборки всех студентов, которые учатся на курсе «Физика», и их оценок.

Решение:

SELECT Имя, Оценка
FROM СтудентыКурсы
WHERE Курс = 'Физика';

Объяснение: Мы использовали обновленное представление СтудентыКурсы для выборки всех студентов, которые учатся на курсе «Физика», и их оценок.

Категория: SQL | Просмотров: 93 | Добавил: Admin | Рейтинг: 1.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: