Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.
Редагування інструкцій SQL для уточнення результатів запиту

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

Примітка.:  Ця стаття не стосується веб-програм Access – виду бази даних, яку можна створити за допомогою Access і опублікувати в Інтернеті.

У цій статті

Створення інструкції Select

Інструкція вибору SQL має від двох до трьох речень. Речення SELECT указує базі даних, де шукати дані, і пропонує повернути певний результат.

Примітка.:  Інструкції SELECT завжди закінчуються крапкою з комою (;) в кінці останнього речення або в рядку окремо в кінці інструкції SQL.

Наведена нижче вибрана інструкція просить Access отримати відомості зі стовпців Адреса електронної пошти та Компанія з таблиці Контакти, зокрема там, де вона знаходить слово "Сіетл" у стовпці "Місто".

Вкладка об'єкта SQL, на якій відображено інструкцію SELECT

У наведеному вище запиті є три речення SELECT, FROM і WHERE.

1. Речення SELECT містить стовпці, які містять дані, які потрібно використовувати, і має оператор (SELECT), а потім два ідентифікатори (Адреса електронної пошти та компанія). Якщо ідентифікатор містить пробіли або спеціальні символи (наприклад, "Адреса електронної пошти"), його потрібно взяти у квадратні дужки.

2. Речення FROM визначає вихідну таблицю. У цьому прикладі в ньому є оператор (FROM), за яким слідує ідентифікатор (Контакти).

3. Речення WHERE – це необов'язкове речення. У прикладі є оператор (WHERE), за яким слідує вираз (City="Seattle").

Докладні відомості про вибіркові запити див . в статті Створення простого вибіркового запиту.

Нижче наведено список поширених речень SQL.

Речення SQL

Функції

Обов'язково ?

SELECT

Перелічує поля, які містять потрібні дані.

Так

FROM

Перелічує таблиці, у яких містяться поля, зазначені в реченні SELECT.

Так

WHERE

Визначає умови для поля, яким мають відповідати всі записи, щоб бути включеними до результатів.

Ні

ORDER BY

Визначає спосіб сортування результатів.

Ні

GROUP BY

В інструкції SQL, яка містить агрегатні функції, перелічує поля, не зведені в реченні SELECT.

Лише за наявності таких полів

HAVING

В інструкції SQL, яка містить агрегатні функції, визначає умови, які застосовуються до полів, зведених в інструкції SELECT.

Ні

Кожне речення SQL складається з умов. Нижче наведено список поширених термінів SQL.

Термін SQL

Визначення

Приклад

ідентифікатор

Ім'я, яке використовується для визначення об'єкта бази даних, наприклад імені стовпця.

[Адреса електронної пошти] та компанія

оператор

Ключове слово, яке позначає або змінює дію.

AS

константа

Значення, яке не змінюється, наприклад число або NULL-значення.

42

вираз

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

>= Продукти.[Ціна за одиницю]

На початок сторінки

Настроювання речення SELECT

Настроювання

Приклад

Щоб переглянути лише окремі значення.

Використовуйте ключове слово DISTINCT у реченні SELECT.

Наприклад, якщо клієнти працюють із кількох різних відділень і деякі з них мають однаковий номер телефону, і ви хочете бачити номер телефону лише один раз, речення SELECT матиме такий вигляд:

SELECT DISTINCT [txtCustomerPhone] 

Щоб змінити спосіб відображення ідентифікатора у вікні табличного подання даних, можна полегшити читання.

Використовуйте оператор AS (ключове слово, яке представляє дію або змінює дію) з псевдонімом поля в реченні SELECT. Псевдонім поля – це ім'я, яке призначається полю, щоб полегшити читання результатів.

SELECT [txtCustPhone] AS [Customer Phone]

Настроювання речення FROM

Налаштування

Приклад

У вибраній інструкції можна використовувати псевдонім таблиці або інше ім'я, призначене таблиці. Псевдонім таблиці корисний, якщо ім'я таблиці довге, особливо якщо у вас є кілька полів з однаковими іменами з різних таблиць.

Щоб вибрати дані з двох полів, обидва іменовані ідентифікатори, одне з яких походить із таблиці tblCustomer, а інше – з таблиці tblOrder:

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Використовуйте оператор AS для визначення псевдонімів таблиці в реченні FROM:

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Потім ви можете використовувати ці псевдоніми таблиці в реченні SELECT, як описано нижче.

SELECT [C].[ID], 
[O].[ID]

Використовуйте об'єднання, щоб об'єднувати пари записів із двох джерел даних в один результат або вказати, чи включати записи з будь-якої таблиці, якщо відповідний запис у пов'язаній таблиці відсутній.

Об'єднання таблиць таким чином, щоб запит об'єднав елементи з таблиць і виключав елементи, якщо в іншій таблиці немає відповідного запису

Ось як може виглядати речення FROM:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Використання об'єднань

Існує два типи об'єднань: внутрішнє та зовнішнє об'єднання. Внутрішні об'єднання частіше зустрічаються в запитах. Під час виконання запиту з внутрішнім об'єднанням результат відображає лише ті елементи, у яких спільне значення існує в обох об'єднуваних таблицях.

Зовнішні об'єднання визначають, чи слід включати дані, у яких немає спільного значення. Зовнішнє об'єднання спрямоване, тобто можна вказати, чи включати всі записи з першої таблиці, указаної в об'єднанні (так зване ліве об'єднання), або включити всі записи з другої таблиці в об'єднання (так зване праве об'єднання). Зовнішнє об'єднання має такий синтаксис SQL:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Докладні відомості про використання об'єднань у запиті див. в статті Об'єднання таблиць і запитів.

На початок сторінки

Настроювання речення WHERE

Речення WHERE містить умови, які дають змогу обмежити кількість елементів, які повертаються в запиті. Перегляньте приклади умов запиту та принцип їх роботи.

Приклад того, як можна настроїти основне речення WHERE, – обмежити результати запиту; Припустімо, що потрібно знайти номер телефону клієнта та пригадати лише його прізвище як Bagel. У цьому прикладі прізвища зберігаються в полі "Прізвище", тому синтаксис SQL матиме такий синтаксис:

WHERE [LastName]='Bagel'

Речення WHERE також використовується, щоб об'єднувати джерела даних для стовпців, які містять однакові дані, але різні типи даних. Це зручно, оскільки не можна створити об'єднання між полями з різними типами даних. Використовуйте одне поле як умову для іншого поля з ключовим словом LIKE . Наприклад, якщо потрібно використовувати дані з таблиці "Активи" та "Працівники", лише якщо тип активу в полі "Тип активу" таблиці "Активи" має число 3 в полі "Кількість" таблиці "Працівники", ось як виглядатиме речення WHERE:

WHERE field1 LIKE field2

Увага!:  У реченні WHERE не можна вказати умови для поля, яке використовується з агрегатним функцією. Натомість використовуйте речення HAVING, щоб указати умови для агрегованих полів.

На початок сторінки

Настроювання за допомогою оператора UNION

Використовуйте оператор UNION, якщо потрібно переглянути комбіноване подання результатів із кількох схожих вибіркових запитів. Наприклад, якщо в базі даних є таблиця "Товари" та "Послуги" та вони обидва мають три поля: ексклюзивна пропозиція, продукт або послуга, ціна, гарантія або гарантія. Хоча в таблиці "Товари" зберігаються відомості про гарантію, а в таблиці "Служби" зберігаються гарантійні відомості, базова інформація однакова. За допомогою запиту на об'єднання можна об'єднати три поля з двох таблиць, як описано нижче.

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Під час виконання запиту дані з кожного набору відповідних полів об'єднуються в одне поле виводу. Щоб додати до результатів будь-які повторювані рядки, скористайтеся оператором ALL.

Примітка.:  Оператор Select має містити однакову кількість полів виводу в однаковому порядку та з однаковими або сумісними типами даних. Для запиту на об’єднання типи даних "Текст" і "Число" вважаються сумісними.

Докладні відомості про запити на об'єднання див. в статті Використання запиту на об'єднання для перегляду уніфікованого результату з кількох запитів.

На початок сторінки

Потрібна додаткова довідка?

Потрібні додаткові параметри?

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

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

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×