Примеры использования оператора Having

Содержание

Слайд 2

Пример использования оператора HAVING SELECT Каф_№, COUNT(ФИО) AS Число сотрудников FROM

Пример использования оператора HAVING

SELECT Каф_№, COUNT(ФИО) AS Число сотрудников
FROM Сотрудники
GROUP BY

Каф_№
HAVING COUNT(ФИО) > 2

Число сотрудников на кафедрах численностью не менее 3 человек

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

Пример использования оператора ORDER BY

SELECT ФИО, Премия
FROM Сотрудники
WHERE Премия IS NOT NULL
ORDER BY Премия DESC

Предикаты ASC и DESC используется для
Упорядочения данных по возрастанию и убыванию

Слайд 3

Примеры использования вложенных запросов Список сотрудников, получивших премии SELECT ФИО FROM

Примеры использования вложенных запросов

Список сотрудников, получивших премии

SELECT ФИО
FROM Сотрудники
WHERE Таб_№ =

ANY
(SELECT Таб_№ FROM Сотрудники WHERE Премия IS NOT NULL)

Предикаты ANY и SOME выбирают записи, удовлетворяющие
сравнению с записью вложенного запроса

Список сотрудников, не получивших премии

SELECT ФИО
FROM Сотрудники
WHERE Таб_№ = NOT IN
(SELECT Таб_№ FROM Сотрудники WHERE Премия IS NOT NULL)

Слайд 4

Добавление записей INSERT INTO Сотрудники VALUES (503, ‘Семенов А.’, 9, ‘Доцент’,

Добавление записей

INSERT INTO Сотрудники
VALUES (503, ‘Семенов А.’, 9, ‘Доцент’, 3000, NULL)

Добавление

записей во все поля таблицы

INSERT INTO Сотрудники (ФИО)
VALUES (‘Григорьев Б.’)

Добавление записей в выбранные поля таблицы

Обновление записей

UPDATE Сотрудники
SET Должность = ‘Доцент’, Оклад = 3000
WHERE Таб_№ = 289

Изменение должности сотрудника и его оклада

UPDATE Сотрудники SET Оклад = Оклад*1.2

Индексирование окладов

Слайд 5

Удаление записей DELETE Сотрудники.ФИО FROM Сотрудники WHERE (Сотрудники.ФИО) = ‘Березуцкий В.’

Удаление записей

DELETE Сотрудники.ФИО
FROM Сотрудники
WHERE (Сотрудники.ФИО) = ‘Березуцкий В.’

Удаление записи из одной

таблицы

DELETE
FROM Кафедры
WHERE Каф_№ = 4

Удаление записей из нескольких таблиц

Удаление записей из таблицы ‘Сотрудники’, связанных с 4-й кафедрой, возможно,
если между таблицами ‘Кафедры и ‘Сотрудники’ установлено каскадное удаление
записей. В противном случае целостность данных нарушится и операция удаления
будет отклонена.

DELETE
FROM Сотрудники
WHERE ФИО = ‘Березуцкий В.’

Слайд 6

Создание представлений Представление Горизонтальное: Фильтрация по строкам. Уменьшение объема реальных таблиц

Создание представлений

Представление

Горизонтальное: Фильтрация по строкам.
Уменьшение объема реальных таблиц данных,
ограничение

доступа пользователей к закрытой
информации

Вертикальное: Фильтрация по строкам.
Уменьшение объема реальных таблиц данных,
ограничение доступа пользователей к закрытой
информации

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

Объединенное: Используется для представления
Данных из нескольких таблиц

Слайд 7

Создание представлений Примеры горизонтального представления CREATE VIEW Кафедра_4 AS SELECT *

Создание представлений

Примеры горизонтального представления

CREATE VIEW Кафедра_4
AS
SELECT *
FROM Сотрудники
WHERE Кафедра = 4

CREATE

VIEW Кафедра_4
AS
SELECT *
FROM Кафедры
WHERE Кафедра = 4
Слайд 8

Создание представлений Примеры вертикального представления CREATE VIEW Должности AS SELECT ФИО,

Создание представлений

Примеры вертикального представления

CREATE VIEW Должности
AS
SELECT ФИО, Должность
FROM Сотрудники

CREATE VIEW Телефоны_кафедр
AS
SELECT

Каф_№, Телефон
FROM Кафедры
Слайд 9

Создание представлений Пример сгруппированного представления CREATE VIEW Сводные_данные Кафедра, COUNT(*), SUM(Оклад),

Создание представлений

Пример сгруппированного представления

CREATE VIEW Сводные_данные
Кафедра, COUNT(*), SUM(Оклад), SUM(Премия), AVG(Оклад), AVG(Премия)
AS
SELECT

Кафедра, COUNT(*), SUM(Оклад), SUM(Премия), AVG(Оклад), AVG(Премия)
FROM Сотрудники
GROUP BY Кафедра