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

Ознайомлення з операторами 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, ви зможете визначати, чи знаходиться необхідне значення в діапазоні доступних значень.

Дякуємо, що читаєте нас!

 

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *