Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Вычисления внутри SELECT

Операторы, используемые внутри инструкций SELECT и WHERE, можно условно разделить на три группы:

  • Скобки и арифметические выражения;
  • Логические выражения.

Скобки и арифметические выражения

Команда SELECT может работать как простой калькулятор, который умеет производить арифметические операции с числами. Для записи арифметических операций используются операторы:

  • * умножение;
  • / деление;
  • + сложение;
  • - вычитание.
Пример 1

Например, команда

SELECT 2+7;

вернет результат 9.

Команда

SELECT 8-10;

вернет результат -2;

Для изменения приоритета арифметических операций в выражениях можно использовать круглые скобки.

Пример 2

Команда

SELECT 3*(8+1);

вернет результат 27;

Команда

SELECT 3/(3+2);

вернет результат 0.60;

При делении на 0 возвращается результат NULL.

Пример 3

SELECT 3/(2*2-4);

Результат: NULL;

Логические выражения

Определение 1

Логическим выражением называется вопрос, который может иметь только два варианта ответа: Истина или Ложь.

Чаще всего простые логические выражения задаются операторами сравнения. К операторам сравнения относятся знаки:

  • > больше;
  • > = больше или равно;
  • = равно;
  • , ! = не равно;
  • NULL-безопасное сравнение.
Определение 2

Значения, которые сравниваются, называются операндами.

Вычисления внутри SELECT. Автор24 — интернет-биржа заказчиков и авторов

«Вычисления внутри SELECT» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Значение Истина обозначается в sql через 1, Ложь – через 0.

Пример 4

SELECT 1=2;

Результат: 0.

SELECT 25=20+5;

Результат 1.

SELECT 3!=5;

Результат: 1.

Сравнивать можно не только числа, но и строки. При сравнении строк при помощи знаков сравнения меньшей считается та строка, которая идет раньше по алфавиту.

Пример 5

SELECT "Иванов"

Результат: 1.

SELECT "ООО Топаз"

Результат: 0.

Особого внимания заслуживает знак NULL-безопасного равно. Дело в том, что если один из операндов оказывается равен NULL, то результат будет равен NULL в любом случае. Даже если проверяется логическое выражение NULL=NULL, которое истино Поэтому, если есть подозрение, что один из операндов может иметь значение NULL, лучше использовать NULL-безопасное равно.

Пример 6

SELECT NULL = NULL;

Результат: NULL.

SELECT NULL = 25;

Результат: NULL;

SELECT NULLNULL;

Результат: 1.

SELECT NULL25;

Результат: 0;

Кроме операторов сравнения логические выражения могут строиться при помощи тестов на значение NULL:

  • IS NULL;
  • IS NOT NULL.

Тесты используются, чтобы определить, равна некоторая величина NULL или нет.

Пример 7

SELECT 25 is NULL;

Результат: 0;

SELECT 25 IS NOT NULL;

Результат: 1.

SELECT 25/(3-3) is NULL;

Результат: 1.

Сложные логические выражения

Определение 3

Логические выражения, состоящие из других более простых логических выражений, называются сложными логическими выражениями.

Сложные логические выражения строятся при помощи логических операторов:

  • NOT или ! –логическое «НЕ»;
  • AND или && - логическое «И»;
  • OR или || - логическое «ИЛИ».

Логическое «НЕ» возвращает истину, если операнд имеет значение ложь, и возвращает «ложь», если операнд имеет значение «истина».

Пример 8

SELECT !(2=5); или SELECT NOT 2=5;

Результат: 1.

SELECT !(2>0);

Результат: 0.

SELECT !1+1;

Результат 1;

SELECT !(1+1);

Результат: 0.

Логическое «И» возвращает значение Истина, если все операнды истины, и возвращает Ложь, если хотя-бы один операнд имеет значение Ложь.

Пример 9

SELECT 25 > 30 AND 30 30 && 30

Результат: 0.

SELECT NULL NULL AND 5=2+3; или SELECT NULL NULL && 5=2+3;

Результат 1;

Логическое «ИЛИ» возвращает значение Истина, если хотя-бы один операнд имеет значение Истина, и возвращает Ложь, если все операнды имеют значение Ложь.

Пример 10

SELECT 23=25 OR 2=2; или SELECT 23=25 || 2=2;

Результат: 1.

SELECT 3 1; или SELECT 3 1;

Результат 0;

При комбинировании логических операторов в одном сложном выражении логическое «И» и логическое «НЕ» имеет приоритет перед логическим «ИЛИ». Для изменения приоритета можно использовать круглые скобки.

Пример 11

SELECT (2=3 OR 2=2) AND NULLNULL;

Результат: 1.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 24.08.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot