Операции SQL в базе данных Oracle: сравнения, логические, над множеством

Антон Меринов

Антон Меринов

Автор статьи. Интересы, навыки: Профессиональное администрирование СУБД Oracle Database, веб-разработка, IT-World. Подробнее.

 
 
 

Использование операций SQL в базе данных OracleВ SQL поддерживается ряд операций для решения различных задач, наподобие сравнения значений столбцов и проведения логических вычислений. В этом статье блога будут   кратко описаны наиболее важные из этих операций — операции сравнения, логические операции и операции над

множествами

 

Операции сравнения

Операции сравнения позволяют сравнивать одно определенное значение столбца с несколькими другими значениями. Ниже перечислены основные операции сравнения.

  • BETWEEN. Позволяет проверять, находится ли значение между двумя другими значениями.
  • IN. Позволяет проверять, присутствует ли значение в списке значений.
  • LIKE. Позволяет проверять, соответствует ли значение определенному образцу, как показано ниже:
SQL> SELECT employee_id from employees
WHERE dept LIKE 'FIN%'; 

 

Логические операции

Логические операции, также называемые булевскими, позволяют логическим образом сравнивать два или более значений. Главные логические операции выглядят так: AND (И), OR (ИЛИ), NOT (НЕ), GE (БОЛЬШЕ ИЛИ РАВНО) и LE (МЕНЬШЕ ИЛИ РАВНО). Ниже приведен пример, иллюстрирующий применение некоторых из этих операций:

SQL> SELECT last_name, city
WHERE salary GT 100000 and LE 200000;

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

=, !=, <, >, <=, >=
IS NULL, LIKE, BETWEEN, IN, EXISTS
NOT
AND
OR

 

Операции над множествами

Иногда бывает необходимо, чтобы запрос предусматривал объединение результатов из нескольких SQL-операторов. Такой запрос называется составным. Операции над множествами облегчают написание и выполнение составных запросов. Наиболее важные из этих операций перечислены ниже.

  • UNION. Операция UNION объединяет результаты нескольких операторов SELECT, но сначала удаляет из них любые дублированные строки. В случае ее применения Oracle сортирует результирующий набор данных. Ниже приведен пример использования этой операции:
      SQL> SELECT emp_id FROM old_employees
           UNION
           SELECT emp_id FROM new_employees;
 
  • UNION ALL. Операция UNION ALL похожа на операцию UNION, но не предусматривает удаления дублированных строк. В случае ее применения Oracle не выполняет сортировку результирующего набора данных, как это делается в случае операции UNION.
  • INTERSECTION. Операция INTERSECTION получает общие значения из двух или более результирующих наборов, происходящих от разных операторов SELECT. Эти значения имеют в конечном результирующем наборе уникальный и отсортированный вид.
  • MINUS. Операция MINUS возвращает те строки из результатов первого запроса, которых нет в результатах второго запроса. Эти строки имеют в конечном результирующем наборе уникальный и отсортированный вид.

Вас заинтересует / Intresting for you:

Назначение языка SQL и необход...
Назначение языка SQL и необход... 1486 просмотров Ирина Светлова Mon, 28 Oct 2019, 05:40:06
Управление приложениями PL/SQL...
Управление приложениями PL/SQL... 3112 просмотров Stas Belkov Thu, 16 Jul 2020, 06:20:48
Встроенные методы коллекций PL...
Встроенные методы коллекций PL... 7024 просмотров sepia Tue, 29 Oct 2019, 09:54:01
Тип данных RAW в PL/SQL
Тип данных RAW в PL/SQL 5752 просмотров Doctor Thu, 12 Jul 2018, 08:41:33
Войдите чтобы комментировать