- •Лабораторная работа № 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 Тема: создание индексов
- •Типы индексов
- •Создание индекса
- •Просмотр индексов
- •Удаление индекса
Оператор конкатенации
Оператор конкатенации (||) позволяет соединять столбцы с другими столбцами, арифметическими выражениями или постоянными значениями для создания символьных выражений. Столбцы, указанные по обе стороны этого оператора, объединяются в один выходной столбец.
Строки символов (литералы)
Литерал — это любой символ, выражение или число, включенные в список SELECT и не являющиеся ни именем, ни псевдонимом столбца. Они печатаются для каждой возвращаемой строки. Символьные литералы и литералы-даты должны быть заключены в апострофы (‘’), а числовые литералы - нет.
Пример.
Вывод фамилий клиентов и их телефонов под заголовком "Dannie". He следует забывать о знаках пунктуации.
SQL> SELECT FIO ||' '||PHONE AS "Dannie"
2 FROM KLIENT;
Dannie
----------------------------
Иванов И.Н. 9005363
Петров Н.О. 7854458
Сидоров О.Г. 4455478
Обработка неопределенных значений
Если строка не содержит данных для конкретного столбца, такое значение называют неопределенным (null). Неопределенное значение - это не ноль и не пробел. Ноль — это число, а пробел — символ. Издержки "хранения" неопределенного значения - это один байт внутренней памяти. При попытке деления на ноль вы получите сообщение об ошибке, а результатом деления на неопределенное значение будет неопределенное значение.
Функция nvl
Для преобразования неопределенного значения в фактическое используется функция NVL.
Синтаксис
NVL (выражение1, выражение2) |
где: выражение 1 исходное или вычисленное значение,
которое может быть неопределенным.
выражение 2 значение, которое подставляется вместо неопределенного значения.
Функцию NVL можно применять для преобразования любого типа данных, но результат всегда будет того же типа, что и выражение1.
Пример.
Для вывода всех названий фильмов и их стоимостей в предыдущем примере пользуйтесь функцией NVL для преобразования неопределенного значения в нулевое.
SQL> SELECT NAMEF, NVL(STOIMOST_PROK, 0)
2 FROM FILM;
NAMEF STOIMOST_PROK
------------------------------------------------------
Красотка 42
……
Красный дракон 0
7 Строк выбрано. Преобразование nvl для различных типов
NUMBER - NVL (числовой_стол6ец, 9)
DATE - NVL (столбец_даты, '01-ЯНВ-95')
CHAR или VARCHAR2 - NVL (символьный_стол6ец, 'Недоступно')
Пример. Вывод всех фамилий Пример. Вывод всех неповторяющихся
клиентов из таблицы KLIENT. фамилий из таблицы KLIENT.
SQL> SELECT FIO SQL> SELECT DISTINCT FIO
2 FROM KLIENT; 2 FROM KLIENT;
FIO FIO
------------------------- -------------------------
Иванов И.Н. Иванов И.Н.
Петров Н.О. Петров Н.О.
Сидоров О.Г. Сидоров О.Г.
Иванов И.Н.
Лабораторная работа №4 Тема: ограничение количества выбираемых строк.
Синтаксис
SELECT [DISTINCT] {*, столбец [псевдоним], ...} FROM таблица [WHERE условие (условия)] [ORDER BY {столбец, выражение, псевдоним]{ASC|DESC}]; |
где: SELECT список столбцов, содержащий, по крайней мере, один элемент.
DISTINCT подавляет дубликаты.
* выбирает все столбцы
столбец выбирает заданный столбец
псевдоним дает выбранному столбцу другой заголовок.
FROM указывает таблицу, содержащую заданные столбцы.
WHERE ограничивает запрос строками, удовлетворяющими заданному условию.
Условие состоит из имен столбцов, выражений, констант и операторов сравнения.
ORDER BY задает последовательность вывода выбранных строк.
ASC задает сортировку строк по возрастанию.
DESC задает сортировку строк по убыванию.
Пример.
Вывод из таблицы Film названия фильмов, стоимость проката и количество копий. Результат сортируется по названиям фильмов.
SQL> select namef,stoimost_prok,kol
from film
order by namef;
NAMEF STOIMOST_PROK KOL
------------------------- ----------------------------- --------