- •Лабораторная работа № 1 Тема: создание таблиц
- •Ссылка на таблицы других пользователей
- •Параметр default
- •Правила присвоения имен
- •Типы данных в Oracle
- •Ограничения
- •Ограничения целостности данных
- •Ограничение not null
- •Ограничение unique
- •Ограничение primary key
- •Ограничение foreign key
- •Ограничение check
- •Пример. Создание таблицы базы данных Film, Klient, Dogovor.
- •6 Regiser varchar2(20), Таблица создана.
- •Создание таблицы с заполнением строками из другой таблицы
- •Лабораторная работа №2
- •2 Values (1, 'Красотка', 'Поланский','12-12-1987', 30, 2);
- •1 Строка создана.
- •1 Строка создана. Копирование строк из другой таблицы
- •Insert into таблица (столбец[, столбец]}
- •3 Строки создано.
- •Обновление строк
- •1 Строка обновлена.
- •Команды явного управления транзакциями
- •Оператор конкатенации
- •Строки символов (литералы)
- •Обработка неопределенных значений
- •Функция nvl
- •Синтаксис
- •7 Строк выбрано. Преобразование nvl для различных типов
- •Лабораторная работа №4 Тема: ограничение количества выбираемых строк.
- •Азазель 40 5
- •7 Строк выбрано.
- •1 Иванов и.Н. 005363
- •Пример. Вывод названия фильмов и стоимости проката для фильмов, количество которых 3 и 5.
- •Сочетание символов в искомой строке
- •Строки не выбраны
- •2 From film 3 Азазель
- •Пример. Вывод кодов фильмов и их названий, имеющих режиссера.
- •Порядок выполнения операций Правила приоритета
- •1 Красотка 42 3
- •Пример.
- •Пример.
- •Числовые функции
- •Пример.
- •Использование арифметических операторов с датами
- •Арифметические операторы над датами
- •Функции для работы с датами
- •Пример.
- •Функции преобразования
- •Вывод даты в заданном формате
- •Форматы времени
- •Пример.
- •Элементы формата числа
- •Пример.
- •Лабораторная работа №7 Тема: групповые функции Групповые функции
- •Групповые функции
- •Пример. Вывод первого и последнего названия фильма из алфавитного списка всех фильмов.
- •8 Строк выбрано.
- •Предложение having
- •Пример.
- •Лабораторная работа №8 Тема: подзапросы
- •From таблица
- •(Select список_выбора
- •Однострочные подзапросы
- •Многострочные подзапросы
- •Лабораторная работа №9 Тема определение переменных во время выполнения Переменные подстановки с одним амперсантом
- •Команда set verify
- •Определение текстовых строк и дат с помощью переменных подстановки
- •Указание имен столбцов, выражений и текстовых строк во время выполнения
- •Определение переменных пользователя
- •Лабораторная работа №10 Тема: изменение таблиц и ограничений Добавление столбца
- •Изменение столбца
- •Добавление и удаление ограничений
- •Разрешение и запрет ограничений
- •Удаление таблицы
- •Команда rename:
- •Команда truncate: Синтаксис
- •Усечение таблицы.
- •Добавление комментариев к таблице
- •Лабораторная работа №11 Тема: создание последовательности
- •Создание последовательности
- •Проверка параметров последовательности
- •10 Строк выбрано. Псевдостолбцы nextval и currval
- •Пропуски в последовательности
- •Просмотр следующего свободного значения без его увеличения
- •Изменение параметров последовательности
- •Лабораторная работа № 12. Тема: словарь данных.
- •Запросы к словарю данных
- •Классы представлений
- •Прочие представления
- •Лабораторная работа № 13. Тема: создание представлений
- •2 As select filmId, namef, god_vip Дата_выпуска
- •13 Куклы 13.05.99
- •2 (Номер, Название, Дата)
- •2 (ИмяКлиента, посл_Выдача, Перв_выдача)
- •2 (Номер, Название, Дата)
- •Удаление представления
- •Лабораторная работа №14 Тема: создание индексов
- •Типы индексов
- •Создание индекса
- •Просмотр индексов
- •Удаление индекса
Лабораторная работа №7 Тема: групповые функции Групповые функции
AVG, COUNT, МАХ, MIN, STDDEV, SUM, VARIANCE
Синтаксис
SELECT столбец, групповая_функция
FROM таблица
[WHERE условие]
[GROUP BY выражение_группирования]
[HAVING условие_группы]
[ORDER BY столбец];
где: выражение_группирования задает столбец, на основе значения которого группируются строки.
условие_группы включает в выходной результат только те группы, для которых заданное условие истинно (TRUE).
Если в предложение SELECT включена групповая функция, получить одновременно отдельные результаты можно только в случае, если в предложении GROUP BY задан отдельный столбец. Если список столбцов отсутствует, выдается сообщение об ошибке.
Предложение WHERE позволяет исключить некоторые строки до начала разбиения на группы.
В предложении GROUP BY должны быть заданы столбцы.
В предложении GROUP BY нельзя использовать позиционные обозначения или псевдонимы столбцов.
По умолчанию строки сортируются в порядке возрастания в соответствии со списком GROUP BY. Изменить порядок сортировки можно с помощью предложения ORDER BY.
Групповые функции
Каждая функция допускает один аргумент.
Функция |
Описание |
AVG(DISTINCT|ALL|n) |
Среднее значение n без учета неопределенных значений. |
COUNT(DISTINCT|ALL|выражение|*) |
Количество строк только с определенными результатами вычисления выражения. По "*" подсчитываются все строки, включая повторяющиеся и строки с неопределенными значениями. |
MAX(DISTINCT|ALL|выражение) |
Максимальное значения выражения. |
MIN(DISTINCT|ALL|выражение) |
Минимальное значения выражения выражения. |
STDDEV(DISTINCT|ALL|n) |
Стандартное отклонение п без учета неопределенных значений. |
SUM(DISTINCT|ALL|n) |
Сумма значений п без учета неопределенных значений. |
VARIANCE(DISTINCT|ALL|n) |
Дисперсия п без учета неопределенных значений. |
Если задано слово DISTINCT, функция учитывает лишь неповторяющиеся значения; при наличии слова ALL рассматриваются все значения, включая повторяющиеся. Вариант ALL принимается по умолчанию, поэтому задавать его нет необходимости.
Если задано выражение, допустимыми типами данных для аргументов являются CHAR, VARCHAR2, NUMBER и DATE.
Все групповые функции, кроме COUNT(*), игнорируют неопределенные значения. Для подстановки значения вместо неопределенного используется функция NVL.
Пример.
Вывод средней, самой высокой и самой низкой заработной платы, а также суммы заработной платы всех торговых представителей за месяц.
SQL> SELECT AVG(stoimost_prok), MAX(stoimost_prok),
2 MIN(stoimost_prok), SUM(stoimost_prok)
3 from film
4 WHERE kol IS NOT NULL;
AVG(STOIMOST_PROK)MAX(STOIMOST_PROK)МIN(STOIMOST_PROK)SUM(STOIMOST_PROK)
------------------ ------------------ ------------------- -----------------------
41 42 40 164
Функции AVG и SUM применяются к столбцам с числовыми данными.