Часть 4: SQL операторы

Здравствуйте, уважаемые посетители сайта ZametkiNaPolyah.ru. Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В этой записи мы поговорим про SQL операторы без привязки к какой-либо СУБД, посмотрим, на какие группы делятся SQL операторы, а так же для чего нужен тот или иной оператор. Данную запись вы можете рассматривать, как справочник SQL операторов. В принципе в большинстве СУБД операторы реализованы так, как написано в данной записи (этакая шпаргалка по SQL операторам, которая всегда под рукой).


Здесь мы рассмотрим только стандартные операторы языка SQL, которые должны быть реализованы во всех СУБД, но это не означает, что они реализованы во всех СУБД. В дальнейшем мы рассмотрим SQL операторы, которые есть в рассматриваемой СУБД. Операторы SQL делятся на три больших группы:

  • арифметические операторы SQL;
  • SQL операторы сравнения;
  • логические операторы SQL.

Замечу, что набор операторов может различаться не только от производителя СУБД, но и от версии СУБД, поэтому, перед использованием SQL операторов, неплохо было бы ознакомиться с документацией, иначе результаты могут быть самыми неожиданными.

Арифметические операторы SQL

Арифметические операторы SQL – самые простые и знакомые нам еще со школы операторы.

Оператор Описание Пример
+ Бинарный оператор сложения a + b = c
Бинарный оператор вычитания a — b = с
* Бинарный оператор умножения a * b = с
/ Бинарный оператор деления b / a = с
% Оператор деления по модулю. Результатом будет целочисленный остаток. b % a = с

Приведу пример арифметических SQL операторов:

Как видите, ничего сложного в арифметических операторах SQL нет, прошу обратить внимание на то, что все они бинарные. По-другому: и слева, и справа от оператора должно находиться какое-то число.

Операторы сравнения

Операторы сравнения в SQL в качестве результата выдают два значения: true или false.

Оператор Описание Пример
= Этот SQL оператор не арифметическое «равно», известное со школы, а сравнение на равенство. Если равенство верное, то результат TRUE, если нет – FALSE. (4 = 2 + 2) результат TRUE
!= SQL оператор не равно или сравнение на неравенство, TRUE мы получим тогда, когда значения будут не равны (6 != 12) результат TRUE
<> SQL оператор не равно или сравнение на неравенство, TRUE мы получим тогда, когда значения будут не равны (6 != 12) результат TRUE
> SQL оператор больше. Если левая часть (левый операнд) больше правой, то результат TRUE. (5 > 1) результат TRUE
< SQL оператор меньше. Принимает значение TRUE, когда правый операнд больше левого. (12 < 1) результат FALSE
>= SQL оператор больше, либо равно принимает значение TRUE, когда правая часть больше, либо равная левой. (17 >= 17) результат TRUE
<= SQL оператор меньше, либо равно принимает значение TRUE, когда правая часть больше, либо равна левой. (12<=100) результат TRUE
!< SQL оператор не меньше принимает значение TRUE, когда правая часть не меньше левой. (12!<10) результат FALSE
!> SQL оператор не больше принимает значение TRUE, когда левая часть не больше правой. (12 !> 10) результат FALSE

 

Приведем пример операторов сравнения в SQL.

Для начала соединимся с тестовой базой данных World и выведем первых пятнадцать записей из таблицы City:

Выведем 15 городов из таблицы City базы данных World

Выведем 15 городов из таблицы City базы данных World

Затем мы посмотрим при помощи оператора больше пятнадцать городов с населением больше миллиона:

Воспользовавшись SQL оператором сравнения выведем 15 городов с населением больше одного миллиона

Воспользовавшись SQL оператором сравнения, выведем 15 городов с населением больше одного миллиона

В SQL операторах сравнения ничего сложного нет, главное понять, что результат сравнения – это значение TRUE или FALSE, хочу обратить ваше внимание, что СУБД сверяет все значения выбранного столбца с заданным и, если результат сравнения положительный – выводит вам результат на экран.

Логические операторы

Далее приведу список логических SQL операторов, почему данные SQL операторы называются логическими – поймете из их описания.

Оператор Описание
ALL SQL оператор ALL позволяет выводить все значения из таблицы
AND SQL оператор AND или логическое «И», позволяет накладывать на выборку два условия, только при соблюдении двух условий мы будем видеть результат.
ANY SQL оператор ANY (любой). Используется в подзапросах вместе с операторами сравнения для сравнения текущего значения с подзапросом.
BETWEEN SQL оператор BETWEEN. данный SQL оператор позволяет сделать выборку в диапазоне значений. Можно задать максимум и минимум.
EXISTS SQL оператор EXISTS используется для указания того, нужно ли выводить результат подзапроса.
IN Простой SQL оператор IN указывает с какими значениями нужно вывести строки.
LIKE Любимый многими SQL оператор LIKE. Данный оператор позволяет нам находить в тексте подстроку, если подстрока найдена, то она выводится.
NOT SQL оператор отрицания NOT. Инвертирует любой условия.
OR SQL оператор логическое «ИЛИ». Выводит результат в том случае, когда значение TRUE есть хотя бы в одном из операндов.
IS NULL SQL оператор IS NULL позволяет проверить значение поля на NULL
UNIQUE SQL оператор UNIQUE позволяет проверить каждую строку на уникальность.

Работа всех SQL операторов зависит от реализации СУБД. Знакомиться с тем, как реализованы и как работают логические операторы в SQLite3 мы будем в следующих темах.

Текст комментария: