
- •Лабораторная работа 4
- •Цели лабораторной работы
- •Описание и примеры
- •Основные фразы запроса: select и from Фраза select
- •Фраза from
- •Фраза where
- •Использование простых условий Использование операторов сравнения
- •Логические операторы
- •Выражение над столбцами во фразе where
- •Специальные операторы Оператор in
- •Оператор between
- •Оператор like
- •Операторы is null и is not null.
- •Варианты заданий
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Контрольные вопросы
- •Приложения Приложение a. Операторы sql Oracle
- •Унарные и бинарные операторы
- •Старшинство операторов
- •Арифметические операторы
- •Оператор конкатенации
- •Операторы сравнения
- •Логические операторы
- •Теоретико-множественные операторы
- •Приложение b. Выражения
- •Простые выражения
Старшинство операторов
Старшинство – это порядок, в котором SQL Oracle вычисляет операторы в одном выражении. При вычислении выражения со многими операторами Oracle вычисляет сначала операторы с более высоким старшинством, а затем с более низким. SQL Oracle вычисляет операторы с одинаковым старшинством слева направо в пределах выражения.
В таблице ниже приведено старшинство операторов, в порядке их убывания. Операторы, перечисленные в одной строке имеют одинаковое старшинство.
Оператор |
Операция |
+, - |
унарные плюс и минус |
*, / |
умножение, деление |
+, -, || |
сложение, вычитание, конкатенация |
=, !=, <, >, <=, >=, IS NULL, LIKE, BETWEEN, IN |
сравнение |
NOT |
логическое отрицание |
AND |
конъюнкция |
OR |
дизъюнкция |
Можно использовать круглые скобки для задания порядка вычисления выражения
. Oracle вычисляет сначала выражение внутри круглых скобок.
SQL Oracle также поддерживает теоретико-множественные операторы (UNION, UNION ALL, INTERSECT, и MINUS), которые оперируют множествами строк, возвращаемыми запросами, а не отдельными элементами данных. Эти операторы имеют одинаковое старшинство.
Арифметические операторы
Они оперируют числами и возвращают число в качестве своего результата. Некоторые из этих операторов используются для оперирования датами. Ниже приводится список этих операторов.
Оператор |
Назначение |
Пример |
+, - |
Обозначает положительное или отрицательное выражение. Это унарные операторы. |
SELECT * FROM orders SELECT * FROM TEACHER WHERE qtysold = -1; WHERE -Salary < 0; |
*, / |
Бинарные: умножение и деление. |
UPDATE TEACHER SET Salary = Salary * 1.1; |
+, - |
Бинарные: сложение и вычитание |
SELECT Salary + Commission FROM TEACHER WHERE SYSDATE - Hiredate > 365; |
НЕ используйте два последовательных символа минус
(--) в арифметических выражениях для указания двойного вычитания или вычитания из отрицательного значения. Символы -- используются для указания комментариев в предложениях SQL (См. Приложение C). В этом случае вы должны разделить два последовательных знака минус пробелами или круглыми скобками .
Оператор конкатенации
Оператор конкатенации манипулирует строками символов.
Оператор |
Назначение |
Пример |
|| |
Конкатенирует две строки символов. |
SELECT 'Name is ' || Name FROM FACULTY; |
В результате конкатенации получается другая строка символов
. Если обе строки символов типа CHAR, то результат тоже имеет тип CHAR и ограничен 2000 символами. Если хотя бы одна строка типа VARCHAR2, то результат имеет тип VARCHAR2 и ограничен 4000 символами. Пробелы в конце строк сохраняются не зависимо от их типа .
Oracle предоставляет также функцию CONCAT в качестве альтернативы оператора конкатенации.
Oracle трактует строку символов нулевой длины как null, конкатенация строки нулевой длины с другой строкой всегда дает вторую строку в качестве результата. NULL в результате конкатенации получается в том случае, когда обе строки имеют нулевую длину. Однако этот принцип может быть изменен в последующих версиях Oracle. Используйте функцию NVL для явного преобразования строк нулевой длины.