Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

У цьому блозі ми обговоримо, як фільтрувати в SQL. Ми пояснимо та покажемо кілька прикладів використання таких умов фільтрації, як IN, NOT IN, LIKE та NOT LIKE .

Ці умови фільтрації використовуються для фільтрації вихідних даних із даних. Замість того, щоб вибирати їх за допомогою кількох рядків команд, вам буде легше отримати доступ до даних.

Зміст

Використання операторів IN і NOT IN для фільтрації даних у SQL

У цьому прикладі ми будемо отримувати дані з ідентифікаторів 1, 5 або 7. Більшість людей використовували б умови АБО .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Якщо ви хочете отримати дані з кількох ідентифікаторів, вам доведеться написати кілька умов АБО. Однак ви можете використовувати оператор IN для отримання потрібних даних замість багаторазового використання умов АБО .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Використання цієї умови фільтрації дасть нам той самий вихід, який є даними з ідентифікаторів 1, 5 або 7. Навпаки, якщо ви хочете отримати дані з усіх, окрім ідентифікаторів 1, 5 та 7, ви б найбільше ймовірно, використовуйте умову АБО та <> (оператор NOT EQUAL).

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Замість написання довгих команд ми можемо використовувати оператор NOT IN .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

За допомогою цієї умови фільтрації ви витягнете дані, за винятком ідентифікаторів 1, 5 і 7.

Використання цих умов заощадить вам багато часу, і водночас це набагато кращий спосіб писати замість використання кількох умов АБО .

Використання операторів LIKE і NOT LIKE для фільтрації даних у SQL

LIKE і NOT LIKE подібні до операторів IN і NOT IN. Замість себе він отримає частину рядка. Майте на увазі, що ви можете використовувати символи підстановки або спеціальні символи, наприклад відсоток (%) і підкреслення (_).

% означає , що він відповідатиме всім записам із заданим рядком. Якщо ми зіставимо 86 і %, перші дві цифри мають бути 86. Отже, він знайде будь-які значення, які починаються з 86.

Але якщо ми розмістимо % по обидві сторони від 86, це може бути з будь-якого місця. Воно може бути з початку, з кінця або з середини. Таким чином, він знайде будь-які значення, які мають 86 на початку, в середині або в кінці. 

З іншого боку, _ відповідає лише одному символу. Якщо ви використовуєте 86 і _ (86_), він шукатиме будь-які значення, які мають 86 на 1-й і 2-й позиції, наприклад 860, 861, 862 і так далі і так далі. Якщо ви використовуєте _ і 86 (_86), він шукатиме будь-які значення з 86 на 2-й і 3-й позиціях. 

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

У цьому прикладі ми використаємо оператор LIKE , щоб отримати дані, які містять рядок Mark . Нам просто потрібно розмістити Mark між % , щоб отримати результат, який містить Mark

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Подібним чином, якщо ми не хочемо витягувати дані, які містять позначку , ми можемо використати оператор NOT LIKE . Потім поставте позначку між %.

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Цього разу результат не міститиме Mark .

Використання умов фільтрації SQL у SSMS

Спочатку ми відкриємо нашу (SQL Server Management Studio).

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Далі ми завантажимо таблицю, яку будемо використовувати. Зверніть увагу, що ми використовуємо базу даних adventureworks2012, яку можна знайти на веб-сайті документації Microsoft .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Потім натисніть «Виконати» .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Після цього ви побачите результати на вкладці «Результати».

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Потім ми відфільтруємо вихід на основі PersonType . Ми використаємо команду select distinct . Ми виділимо команду та натиснемо «Виконати» .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Тоді ви побачите результат, що показує PersonType .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Далі ми витягнемо записи з PersonType IN , або SP , або SC . Для цього ми використаємо умову АБО . Ми виділимо команду та натиснемо «Виконати» .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Тоді ви побачите, що кількість рядків становить 19 254.

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Однак замість використання умови АБО ми використаємо оператор IN . Отже, ми введемо команду та виділимо її. Потім натисніть виконати .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Це дасть нам таку саму кількість рядків, тобто 19 254 .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Якщо ми хочемо отримати всі дані, крім IN , SP і SC , ми використаємо оператор NOT IN . Тож давайте введемо команду та виділимо її. Потім натисніть виконати .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Це дасть нам усі дані, за винятком тих, які надійшли з IN , SP та SC .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Далі ми використаємо оператор LIKE , щоб витягти дані, які містять Rob , із стовпця FirstName . Давайте використаємо команду, виділимо її та натиснемо «Виконати» .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

У результаті ми побачимо, що вихідні дані тепер містять Rob у стовпці FirstName . Оскільки ми використали %, він покаже всі дані, які містять рядок Rob .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Нарешті, ми використаємо оператор NOT LIKE . У цьому прикладі ми хочемо отримати дані, які не містять Rob . Тож ми введемо код, виділимо його та натиснемо «Виконати».

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Це дасть нам результат, який не показує жодного запису, який містить Rob у стовпці FirstName .

Фільтрувати SQL за допомогою IN, NOT IN, LIKE і NOT LIKE

Висновок

Підводячи підсумок, ми обговорили, як фільтрувати в SQL за допомогою операторів IN, NOT IN, LIKE і NOT LIKE. Ви дізналися про їх використання та відмінності, а також про те, в яких ситуаціях їх можна використовувати.

Ці оператори більш ефективні, ніж використання умови АБО . Ви можете використовувати ці оператори , щоб фільтрувати та витягувати потрібні дані з вашої бази даних замість використання довгих команд, тому переконайтеся, що ці умови фільтрації використовуються належним чином.

Все найкраще,

Хафіз


Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.

Сортування стовпців таблиці дат у LuckyTemplates

Сортування стовпців таблиці дат у LuckyTemplates

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.