Змінні та вирази в редакторі Power Query
У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.
Ви втомилися вручну фільтрувати дані у своїй базі даних і шукаєте більш ефективний спосіб фільтрації даних із кількома значеннями? SQL WHERE IN може бути потрібним рішенням!
Якщо ви працюєте з базами даних SQL, ви, ймовірно, стикалися з оператором WHERE IN. Цей оператор використовується для визначення кількох значень у реченні WHERE, що дозволяє точніше фільтрувати дані.
За допомогою цього оператора ви можете вказати список значень для зіставлення зі стовпцем у вашій таблиці. Цей список можна жорстко закодувати або створити за допомогою підзапиту, що дає вам велику гнучкість у фільтрації даних.
Наприклад, ви можете використовувати оператор IN, щоб знайти всіх клієнтів із певного списку міст або відфільтрувати результати на основі набору ідентифікаторів продуктів.
Однією з переваг використання оператора WHERE IN є те, що він може зробити ваші запити ефективнішими. Використовуючи список значень замість кількох умов АБО, ви можете зменшити кількість обробки, яку має виконати база даних.
Це може бути особливо важливо під час роботи з великими наборами даних або складними запитами, де навіть невелика оптимізація може значно змінити продуктивність.
Зміст
Що таке пропозиція SQL WHERE IN?
Речення SQL WHERE IN використовується для фільтрації даних на основі списку значень. Це дозволяє вказати кілька значень у реченні WHERE, використовуючи скорочення для кількох умов OR. Синтаксис пропозиції WHERE IN для SQL Server , PostgreSQL, MYSQL і Oracle такий:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
Якщо ми розглянемо наведений вище оператор SELECT, речення WHERE IN дозволяє отримати дані з таблиці, де вказаний стовпець відповідає будь-якому зі значень у списку. Це корисний синтаксис для фільтрації даних, коли у вас є певний набір значень для пошуку.
Як працює пропозиція SQL WHERE IN?
Речення працює шляхом порівняння вказаного стовпця з кожним значенням у списку. Якщо стовпець відповідає будь-якому зі значень у списку, рядок включається до набору результатів.
Припустімо, у вас є таблиця під назвою «клієнти», яка складається з трьох стовпців: «customer_id», «customer_name» і «country». Ви хочете отримати всіх клієнтів із США, Канади та Мексики. Наступний запит покаже вам, як використовується речення WHERE IN: SELECT customer_id, customer_name, country FROM customers WHERE country IN ('USA','Canada','Mexico');
Приклади пропозиції SQL WHERE IN
Якщо ви хочете відфільтрувати результати на основі списку можливих значень, ви можете скористатися пропозицією SQL WHERE IN. Цей пункт забезпечує простий спосіб вибору рядків, де певний стовпець відповідає одному з набору значень.
Ось п’ять прикладів того, як можна використовувати це речення:
Використання речення SQL WHERE IN з одним значенням
Припустімо, ви хочете вибрати всі рядки в таблиці, де в стовпці статусу встановлено значення «опубліковано». Ви можете зробити це за допомогою наступного оператора SQL:
SELECT *
FROM my_table
WHERE status IN ('published');
Це поверне всі рядки, у стовпці статусу яких встановлено значення «опубліковано».
Використання пропозиції SQL WHERE IN із кількома значеннями
Тепер припустімо, що ви хочете вибрати всі рядки, у стовпці статусу яких встановлено значення «опубліковано» або «чернетка». Ви можете використовувати такий оператор SQL:
SELECT *
FROM my_table
WHERE status IN ('published', 'draft');
Це поверне всі рядки, у стовпці статусу яких встановлено значення «опубліковано» або «чернетка». Крім того, ви можете додати скільки завгодно значень, розділених комами.
Використання пропозиції SQL WHERE IN із оператором Delete
Припустимо, у вас є таблиця під назвою «клієнти» з такими даними:
Щоб видалити рядки з цієї таблиці на основі кількох значень у стовпці «Місто», речення SQL WHERE IN можна використати з оператором DELETE, як показано в такому запиті:
DELETE FROM customers
WHERE City IN ('New York', 'Chicago', 'Miami');
Цей оператор видалить усі рядки з таблиці «клієнти», де назви стовпців «Місто» відповідають будь-якому зі значень у списку, наприклад «Нью-Йорк», «Чикаго», «Маямі». У наведеному вище прикладі буде видалено перший, третій і п’ятий рядки з таблиці.
Зауважте, що використовуючи речення WHERE IN із оператором DELETE, ви повинні бути дуже обережними, щоб уникнути помилок, переконавшись, що ви видаляєте правильні дані. Найкраще протестувати свій запит на невеликій підмножині даних, перш ніж запускати його на всій базі даних.
Використання оператора WHERE IN і пропозиції SQL WHERE для фільтрації даних на основі числових значень
SELECT *
FROM customers
WHERE age IN (25, 30, 35)
AND city = 'London';
Цей запит поверне всі рядки з таблиці «клієнти», де стовпець віку містить числові значення 25, 30 або 35, а стовпець міста містить значення «Лондон».
Зауважте, що оператор WHERE IN є логічним оператором, який дозволяє лише вказувати кілька значень для одного стовпця. Інструкція SELECT використовується для отримання даних із таблиці, а речення WHERE використовується для фільтрації даних на основі певних умов.
У цьому прикладі запит повертає рядки з таблиці «клієнти», де стовпець віку відповідає одному із указаних числових значень, а стовпець міста — значенню «Лондон». Назви стовпців, які використовуються в цьому запиті: «вік» і «місто», а запитувана таблиця — «клієнти».
Використання WHERE IN з оператором SELECT і оператором IN.
SELECT *
FROM orders
WHERE customer_id IN (
SELECT customer_id
FROM customers
WHERE country = 'USA'
);
У цьому прикладі ми використовуємо підзапит для отримання всіх ідентифікаторів клієнтів із таблиці «клієнти», де стовпець країни містить значення «США». Потім ми використовуємо оператор WHERE IN для філ��трації таблиці «замовлень» на основі цих ідентифікаторів клієнтів.
Цей запит поверне всі рядки з таблиці замовлень, де стовпець customer_id відповідає одному з ідентифікаторів клієнтів, повернутих підзапитом.
Пам’ятайте, що оператор WHERE IN є оператором порівняння, який дозволяє порівнювати стовпець зі списком значень. У цьому випадку ми порівнюємо стовпець customer_id зі списком ідентифікаторів клієнтів, які повертає підзапит.
Використовуючи цей оператор і підзапит, ви можете фільтрувати дані на основі певних критеріїв і отримувати лише ті дані, які відповідають вашим потребам.
2 основні переваги використання пропозиції SQL WHERE IN?
Покращена продуктивність запитів
Цей пункт пропонує одну з найбільших переваг щодо продуктивності запитів. Під час фільтрації даних на основі кількох значень використання пропозиції може бути набагато ефективнішим і швидшим, ніж написання кількох пропозицій WHERE з операторами OR. Це тому, що механізм бази даних може оптимізувати план виконання запиту для ефективного отримання необхідних даних.
Наприклад, розглянемо наступні SQL- запити з таблицею «клієнти», де ми намагаємося визначити деталі клієнта на основі їхніх країн.
SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers WHERE country='USA'
OR country='Canada'
OR country='Mexico' ;
SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers
WHERE country IN ('USA', 'Canada', 'Mexico');
Як видно з наведеного вище прикладу, використання пропозиції може призвести до значного покращення продуктивності запитів і заощадити ваш час. Простіше вибрати всі країни одночасно, ніж вибирати країну за країною за допомогою оператора АБО в набагато більшому наборі даних.
Спрощене написання запитів
Іншою великою перевагою використання речення SQ L WHERE IN є те, що воно може спростити процес написання складних запитів. Коли вам потрібно відфільтрувати дані на основі кількох значень, використання кількох пропозицій WHERE з операторами OR може швидко стати громіздким і складним для керування.
Використання речення дозволяє вказати всі значення, які ви хочете відфільтрувати, в одному операторі, що полегшить читання та підтримку запитів. Це може бути особливо корисним під час роботи з великими наборами даних або коли вам потрібно написати складні запити з кількома умовами.
Наприклад, розглянемо такий SQL-запит:
SELECT *
FROM products
WHERE category='Electronics' AND (brand='Apple' OR brand='Samsung' OR brand='Sony')
SELECT *
FROM products
WHERE category='Electronics' AND brand IN ('Apple', 'Samsung', 'Sony')
В обох запитах із наведеного вище прикладу запит повертає всі «електронні» продукти від Apple, Samsung і Sony.
Однак використання пропозиції WHERE IN, як це видно в останньому запиті, може спростити процес використання складних запитів і зробити їх легшими для читання та розуміння.
Крім того, це також допомагає уникнути помилок і зменшує витрати часу.
Наше заключне слово
Щиро вітаю! Тепер ви знаєте, як використовувати речення SQL WHERE IN для фільтрації даних на основі списку значень. Давайте оцінимо, чого ми навчилися:
Використовуючи WHERE IN, ви можете спростити ряд SQL-запитів і створити їх для отримання ефективнішого написаного виводу.
Пам’ятайте, WHERE IN є скороченням для кількох умов АБО, тому воно може замінити довгі списки операторів АБО. Крім того, речення можна використовувати з підзапитами, дозволяючи фільтрувати дані на основі результатів іншого запиту.
Використовуючи WHERE IN, важливо враховувати типи даних значень, які ви порівнюєте. Якщо типи даних не збігаються, вам може знадобитися скористатися функціями перетворення типів, щоб забезпечити точне порівняння.
Загалом, пропозиція SQL WHERE IN є потужним, але базовим синтаксисом для фільтрації даних у запитах SQL. Опанувавши цей пункт, ви зможете підвищити продуктивність і читабельність свого коду SQL, що полегшить роботу з ним і підтримку в довгостроковій перспективі.
У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.
Теплова карта LuckyTemplates — це тип візуалізації, який використовується для відображення щільності даних на карті. У цьому підручнику я розповім, як ми можемо створити один – не пропустіть!
Я збираюся навчити вас справді цікавому прикладу принципу Парето та тому, як створити діаграму Парето за допомогою важливих формул DAX.
Дізнайтеся, як користувацьку гістограму на ринку можна використовувати для порівняння даних і як ви можете створити їх за допомогою прикладів у LuckyTemplates.
Дізнайтеся, як працює функція Power Automate Static Results і чому її корисно додати до найкращих методів створення блок-схем.
eDNA демонструє, як виконувати переклад мови або тексту за допомогою Python і передавати це в LuckyTemplates. Підручник LuckyTemplates Python.
У цьому підручнику ви дізнаєтеся, як використовувати Gauge Bullet Graph для створення діаграми Ганта в LuckyTemplates Report Builder.
У цьому підручнику ви дізнаєтесь, як створити тривимірну (3D) точкову діаграму за допомогою Python у LuckyTemplates.
Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу
Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників