
- •Выполнение простых запросов в oracle с помощью языка запросов данных dql
- •Базовый запрос select
- •Псевдонимы полей
- •Сортировка результатов (order by)
- •Фильтрация строк (where)
- •Операторы сравнения
- •Объединительные операторы
- •Оператор in
- •Оператор exists
- •Арифметические операторы
- •Основные функции sql
- •Символьные функции
- •Математические функции
- •Функции преобразования
- •Агрегирующие функции и группировка строк
- •Выражение group by
Оператор in
Используется для проверки условия, входит ли значение в заданный список. Список может быть представлен в виде строковых констант, заключенных в скобки и разделенных запятыми, а может быть выбран из базы при помощи вложенного запроса.
Следующий запрос выдает список книг, входящих в каталоги «Интернет» и «Сети». Этот запрос может быть составлен с двумя условиями, объединенными оператором OR, но с оператором IN он выглядит проще:
Оператор exists
Используется для проверки наличия строк во вложенном выборе. Если в списке результатов вложенного запроса нет, устанавливается логическое «ложь». Оператор EXISTS чаще всего используется с более сложной формой вложенного запроса, называемой коррелированным вложенным запросом, когда данные из внешнего запроса сравниваются со строками во вложенном запросе. Подобный запрос можно составить также с использованием оператора IN или соединения.
Арифметические операторы
Позволяют осуществлять математические вычисления в SQL, так же как в формуле электронной таблицы или языке программирования вроде Java или С. Четыре арифметических оператора приведены в таблице.
-
Оператор
Описание
+
Сложение
–
Вычитание
*
Умножение
/
Деление
Если смешивать арифметические операторы в запросе без использования скобок, то порядок выполнения действий будет определяться их старшинством, таким же, как в математике.
Основные функции sql
Функция – специальная программа, возвращающая при вызове единственное значение. В SQL функция всегда требует наличия выражения, которое включает имена полей. Чаще всего функции используются в списке полей в запросе SELECT и вызываются для каждой строки, обрабатываемой запросом.
Ряд функций предоставляется поставщиком СУБД, но можно написать собственные функции на языке PL/SQL, включенном в поставку Oracle.
Функции группируют по типу работы, которую они выполняют. Самые популярные функции описаны ниже, но в документации к Oracle будет описано больше функций.
Символьные функции
Работают с символьными данными.
Конкатенация строк
Функция объединяет несколько строк вместе для формирования одного столбца значений в результатах запроса. Стандартная функция конкатенации строк в SQL вызывается с помощью двух вертикальных черт (||).
Фирма решила разослать всем клиентам-женщинам поздравления с 8 Марта и обращением, состоящим из слов «Дорогая», имени и отчества адресата:
Функция UPPER
Функция переводит все символы строки в верхний регистр. Цифры и специальные символы остаются без изменения. Используется в условиях WHERE.
Будьте осторожны при использовании функций в условиях WHERE. Чаще всего, если к полю применена функция, то невозможно произвести поиск по индексу. Поэтому для больших таблиц использование функций в условиях WHERE может привести к снижению производительности.
Предположим, что вы забыли, в каком регистре (верхнем или нижнем) хранится значение статуса пользователя. Если в условии WHERE вы возведете все в верхний регистр, то сможете получить правильный результат в любом случае:
Функция LOWER
Выполняет действие, противоположное функции UPPER, – переводит все символы строки в нижний регистр. Ее также можно использовать в условии WHERE, если не известно, в каком регистре хранится текст, который необходимо найти:
Функция SUBSTR
Возвращает часть строки, определенную параметрами, включающими имя поля, первую позицию возвращаемых данных и число символов (длину), которую необходимо возвратить. Вместо имени поля можно указать строковую константу:
SUBSTR (имя_поля, начальная_позиция, длина)
Функция LENGTH
Возвращает длину строки: