Це одна із серії статей про Access SQL. У цій статті описано, як написати речення WHERE, а також наведено приклади різних методів, які можна використовувати в реченні WHERE.
В SQL-операторі речення WHERE визначає умови, яким мають відповідати значення полів, щоб записи, які містять значення, включалися в результати запиту.
Огляд Access SQL див. в статті Access SQL: основні поняття, словник і синтаксис.
У цій статті
Обмеження результатів за допомогою умов
Якщо потрібно використовувати дані, щоб обмежити кількість записів, які повертаються в запиті, можна скористатися умови. Умова запиту схожа на формулу – це рядок, який може складатися з посилань на поля, операторів і констант. Умови запиту – це тип вираз.
У таблиці нижче наведено кілька зразків умов і пояснено, як вони працюють.
Умови |
Опис |
>25 і <50 |
Ця умова застосовується до поля типу "Числовий", наприклад "Ціна" або "Кількість_наявних_одиниць". Він включає тільки ті записи, у яких поле "Ціна" або "Кількість одиниць у наявності" містить значення, більше за 25 і менше за 50. |
DateDiff ("рррр", [Дата_народження], Date()) > 30 |
Ця умова застосовується до поля типу "Дата й час", наприклад "Дата_народження". До результатів запиту увійдуть лише записи, у яких кількість років між датою народження особи та сьогоднішньою датою більша за 30. |
Is Null |
Цю умову можна застосувати до поля будь-якого типу, щоб відобразити записи, у яких значення поля є пустим (Null). |
Як показано в попередній таблиці, умови можуть виглядати по-різному залежно від типу даних у полі, до якого застосовуються, і особливих вимог. Деякі умови прості та містять основні оператори й константи. Інші умови складні та включають функції, спеціальні оператори й посилання на поля.
Увага!: Якщо поле використовується з агрегатним функцією, умови для цього поля не можна вказати в реченні WHERE. Натомість використовуйте речення HAVING, щоб указати умови для агрегованих полів. Докладні відомості див. в статтях Access SQL: основні поняття, словник і синтаксис іречення HAVING.
Синтаксис речення WHERE
В операторі SELECT у реченні WHERE використовуються умови запиту.
Речення WHERE має такий базовий синтаксис:
WHERE field = criterion
Припустімо, наприклад, що вам потрібен номер телефону клієнта, але ви пам’ятайте лише його прізвище – Багрій. Замість того, щоб переглядати всі телефонні номери в базі даних, можна скористатися реченням WHERE, щоб обмежити результати та спростити пошук потрібного номера телефону. Якщо прізвища зберігаються в полі з іменем "Прізвище", речення WHERE матиме такий вигляд:
WHERE [LastName]='Bagel'
Примітка.: Не потрібно встановлювати умови в реченні WHERE на основі рівності значень. Ви можете використовувати інші оператори порівняння, як-от більше (>) або менше (<). Наприклад, WHERE [Ціна] > 100.
Об’єднання джерел даних за допомогою речення WHERE
Іноді може знадобитися об'єднати джерела даних на основі полів, які містять однакові дані, але мають різні типи даних. Наприклад, поле в одній таблиці може мати тип даних "Число", і ви хочете порівняти це поле з полем в іншій таблиці з типом даних "Текст".
Не можна створити об’єднання між полями з різними типами даних. Щоб об’єднати дані з двох джерел даних на основі значень у полях із різними типами даних, можна створити речення WHERE, яке використовуватиме одне поле як умову для іншого, за допомогою ключового слова LIKE.
Припустімо, наприклад, що потрібно використати дані з таблиці1 і таблиці2, але лише тоді, коли дані в полі1 (текстове поле в таблиці1) відповідають даним у полі2 (числове поле в таблиці2). Речення WHERE матиме приблизно такий вигляд:
WHERE field1 LIKE field2
Докладні відомості про те, як створити умови для використання в реченні WHERE, див. в статті Приклади умов запиту.