Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 15.03.2024)
428420
солдат
347
самолетов
325
вертолетов
6758
танков
12949
ББМ
10580
артиллерия
717
ПВО
1017
РСЗО
13993
машин
26
корабли и катера
Ознакомление с операторами IN и BETWEEN в MySQL
Опубликовано Обновлено: 26.02.2020

Ознакомление с операторами IN и BETWEEN в MySQL

В сегодняшнем уроке мы рассмотрим основную информацию по операторам IN и BETWEEN в MySQL. С помощью оператора IN вы сможете определить, соответствует ли нужное значение какому-либо значению из списка (или в подзапросе). А с помощью оператора BETWEEN вы сможете определить, находится ли нужное значение в диапазоне доступных значений.

 

 

Ознакомление с оператором IN в MySQL

Оператор IN позволяет определить, соответствует ли указанное значение какому-либо значению в наборе значений или наборе, возвращенным подзапросом.

Ниже показан синтаксис оператора IN:

SELECT
 col_1,col_2,...
FROM
 table_name
WHERE
 (expr|col_1) IN ('value1','value2',...);

 

 

Давайте рассмотрим этот пример запроса более подробно:

  • Используйте столбец (col_1) или выражение (expr) с оператором IN в предложении WHERE.
  • Разделяйте значения в списке запятыми (,).

Оператор IN возвращает 1, если значение col_1 или результат выражения expr равен любому значению в списке, в противном случае он возвращает 0.

 

Когда все значения в списке являются константами, MySQL выполняет следующие шаги:

  • Сначала оценивает значения на основе типа col_1 или результата выражения expr.
  • Во-вторых, сортирует значения.
  • В-третьих, ищет значение, используя алгоритм двоичного поиска (бинарный). Поэтому запрос, использующий оператор IN со списком констант, выполняется очень быстро.

 

Обратите внимание, что если expr или любое значение в списке равно NULL, оператор IN возвращает NULL.

 

Вы можете объединить оператор IN с оператором NOT, чтобы определить, не соответствует ли значение какому-либо значению в списке или подзапросе. И вы также можете использовать оператор IN в предложении WHERE других операторов, таких как UPDATE и DELETE.

 

 

Примеры оператора IN в MySQL

Давайте попрактикуемся на некоторых примерах использования оператора IN.

Если вы хотите найти офисы, расположенные в Германии и США, вы можете использовать оператор IN в качестве следующего запроса:

SELECT
 officeCode,
 country
FROM
 offices
WHERE
 country IN ('Germany', 'USA');

 

 

Использование оператора IN с подзапросом

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

Например, если вы хотите найти заказы, суммарные значения которых превышают 50 000, вы можете использовать оператор IN, как показано в следующем запросе:

SELECT
 orderNumber,
 status
FROM
 orders
WHERE orderNumber IN
(
SELECT
 orderNumber
FROM
 orderDetails
GROUP BY
 orderNumber
HAVING SUM(quantityOrdered * priceEach) > 50000
);

 

 

 

Ознакомление с оператором BETWEEN в MySQL

Оператор BETWEEN – это логический оператор, который позволяет определить, находится ли нужное значение в указанном диапазоне, или же нет. Оператор BETWEEN часто используется в предложении WHERE операторов SELECT, UPDATE и DELETE.

 

Ниже показан синтаксис оператора BETWEEN:

expr BETWEEN start_expr AND end_expr;

 

Значение expr – это выражение для тестирования в диапазоне, определенном значениями start_expr и end_expr. Все три выражения: expr, start_expr и end_expr должны иметь одинаковый тип данных.

Оператор BETWEEN возвращает true, если значение expr больше или равно (>=) значения start_expr и меньше или равно (<=) значения end_expr, в противном случае возвращается ноль.

Условие NOT BETWEEN возвращает true, если значение expr меньше (<) значения start_expr или больше (>) значения значения end_expr, в противном случае возвращается 0.

 

Если какое-либо выражение равно NULL, оператор BETWEEN возвращает NULL.

 

 

Примеры использования оператора BETWEEN в MySQL

Давайте попрактикуемся на некоторых примерах использования оператора BETWEEN.

 

Пример №1: Использование оператора BETWEEN с указанием чисел

В следующем примере оператор BETWEEN используется для поиска товаров, у которых цены находятся в диапазоне от 500 до 1000:

SELECT
 productName,
 prodPrice
FROM
 products
WHERE
 prodPrice BETWEEN 500 AND 1000;

 

 

Вы также можете переписать приведенный выше запрос, используя в качестве запроса значения меньше или равно (<=), больше или равно (>=) и логический оператор AND:

SELECT
 productName,
 prodPrice
FROM
 products
WHERE
 prodPrice >= 500 AND prodPrice <= 1000;

 

 

Пример №2: Использование оператора BETWEEN с указанием дат

Когда вы используете оператор BETWEEN со значениями даты, чтобы получить наилучший результат, вы должны использовать приведение типа для явного преобразования типа столбца или выражения в тип DATE.

В следующем примере мы ищем заказы, которые были сделаны в период между датами с 01.01.2019 по 31.12.2019:

SELECT
 orderNumber,
 orderDate
FROM
 orders
WHERE
 orderDate BETWEEN
CAST('2019-01-01' AS DATE) AND
CAST('2019-12-31' AS DATE);

 

 

Поскольку типом данных, который используется в столбце с датой, является DATE, мы используем оператор CAST, который преобразовывает буквенные строки вида ‘2019-01-01’ и ‘2019-12-31’ в значения DATE.

 

 

 

Вот и все на сегодня! Из этого урока вы узнали основную информацию об операторах IN и BETWEEN в MySQL. Используя оператор IN, вы сможете определить соответствие нужного значения какому-либо значению из списка. А используя оператор BETWEEN, вы сможете определять, находится ли требуемое значение в диапазоне доступных значений.

Спасибо, что читаете нас!

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *