Операторы

Что такое операторы: определение, основные принципы, примеры и практические советы. Изучайте SQL для тестировщиков с подробными объяснениями для начинающих специалистов.

Операторы.

SELECT — Получение выборок данных из СУБД.

AS — Псевдоним.

DISTINCT — Исключение дубликатов.

WHERE — Когда требуется сделать выборку по определенному условию.

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

ОператорОписаниеОбозначение
РавенствоЕсли оба значения равны, то результат будет равен 1, иначе 0=
ЭквивалентностьАналогичен оператору равенства, но NULL <=> NULL возвращает 1<=>
НеравенствоЕсли оба значения не равны, то результат будет равен 1, иначе 0<> или !=
МеньшеЕсли одно значение меньше другого, то результат будет равен 1, иначе 0<
Меньше или равноЕсли одно значение меньше или равно другому, то результат будет равен 1, иначе 0<=
БольшеЕсли одно значение больше другого, то результат будет равен 1, иначе 0>
Больше или равноЕсли одно значение больше или равно другому, то результат будет равен 1, иначе 0>=

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

ОператорОписаниеПримеры применения
NOTМеняет значение оператора на противоположныйNOT (age > 18) - возраст НЕ больше 18
ORИстинно, если хотя бы одно условие истинноage > 18 OR status = 'active' - возраст больше 18 ИЛИ статус активный
ANDИстинно, если оба условия истинныage > 18 AND status = 'active' - возраст больше 18 И статус активный
XORИстинно, если только одно из условий истинноage > 18 XOR status = 'active' - либо возраст, либо статус

IS NULL — Позволяет узнать равно ли проверяемое значение NULL, т.е. пустое ли значение.

BETWEEN — Позволяет узнать расположено ли проверяемое значение столбца в интервале между min и max, включая сами значения min и max.

IN — Позволяет узнать входит ли проверяемое значение столбца в список определённых значений.

LIKE — Используется при условных запросах, чтобы узнать соответствует ли строка определённому шаблону.

Символы оператора LIKE

СимволОписаниеПример
%Последовательность любых символов (0 или более)%test% найдет “test”, “mytest”, “testing”
_Любой единичный символt_st найдет “test”, “tost”, “t1st”

Оператор REGEXP (синоним RLIKE) — используется для поиска и обработки строковых данных с помощью регулярных выражений.

Важные нюансы:

  • Регистронезависимость. По умолчанию регулярные выражения в MySQL не чувствительны к регистру. Например, выражение REGEXP ‘abc’ найдёт строку и abc, и Abc, и ABC.

  • Специальные символы. Некоторые символы имеют особое значение в регулярных выражениях и требуют экранирования (например, ., *, +, ?, [,], (, ), {, }, |, \). Для экранирования используется обратная косая черта \.

Регулярные выражения (REGEXP).

Символ/структураОписаниеПример
*0 или более экземпляров предшествующей строкиa* найдет ”, “a”, “aa”, “aaa”
+1 или более экземпляров предшествующей строкиa+ найдет “a”, “aa”, “aaa”
.Любой одиночный символt.st найдет “test”, “tost”, “t1st”
?0 или 1 экземпляр предшествующей строкиa? найдет ”, “a”
^Соответствует началу строки^test найдет “test”, “testing”
$Соответствует окончанию строкиtest$ найдет “test”, “mytest”
[abc]Любой символ, указанный в квадратных скобках[abc] найдет “a”, “b”, “c”
[^abc]Любой символ, не указанный в квадратных скобках[^abc] найдет “d”, “e”, “f”
[A-Z]Любая заглавная латинская буква[A-Z] найдет “A”, “B”, “Z”
[а-я]Любая заглавная кириллическая буква[А-Я] найдет “А”, “Б”, “Я”
[a-z]Любая строчная латинская буква[a-z] найдет “a”, “b”, “z”
[а-я]Любая строчная кириллическая буква[а-я] найдет “а”, “б”, “я”
[0-9]Любая цифра[0-9] найдет “0”, “1”, “9”
p1|p2|p3Соответствует любому из паттерновcat|dog найдет “cat” или “dog”
{n}n экземпляров предыдущей строкиa{3} найдет “aaa”
{m,n}От m до n экземпляров предыдущей строкиa{2,4} найдет “aa”, “aaa”, “aaaa”
  • ORDER BY — Сортировка.
  • ASC — Сортировка по возрастанию (по умолчанию).
  • DESC — Сортировка по убыванию.