«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Можете ли вы объединить LIKE и IN для более мощных SQL-запросов?

Можете ли вы объединить LIKE и IN для более мощных SQL-запросов?

Опубликовано 15 ноября 2024 г.
Просматривать:832

Can You Combine LIKE and IN for More Powerful SQL Queries?

Объединение LIKE и IN для расширенных запросов SQL

В SQL оператор LIKE часто используется для сопоставления с образцом, а оператор IN позволяет нам сопоставлять значение со списком конкретных значений. Хотя эти операторы служат разным целям, их можно комбинировать для создания более мощных запросов.

Давайте рассмотрим следующий сценарий: у вас есть таблица со столбцом с именем «company_id», и вы хотите выбрать все строки, в которых «company_id» начинается с определенных строк, таких как «M510», «M615», «M515» и «M612».

Одним из подходов может быть использование оператора LIKE следующим образом:

SELECT * FROM tablename WHERE company_id LIKE 'M510%'

Однако это будет точно соответствовать только строкам, начинающимся с «M510». Чтобы сопоставить несколько строк, вам придется создать несколько запросов.

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

Более эффективное решение — использовать подстроку с оператором IN. Функция SUBSTRING() извлекает указанное количество символов из строки, начиная с заданной позиции.

Для нашего сценария мы можем использовать следующий запрос:

SELECT * FROM tablename
WHERE SUBSTRING(company_id, 1, 4) IN ('M510', 'M615', 'M515', 'M612')

Этот запрос извлекает первые 4 символа из столбца "company_id" и проверяет, он существует в списке значений, указанных в предложении IN. Объединив подстроку с IN, мы можем добиться желаемого сопоставления с образцом без необходимости перебирать массив строк.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3