Редагування інструкцій SQL для уточнення результатів запиту

Редагування інструкцій SQL для уточнення результатів запиту

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

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

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

У цій статті

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

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

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

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

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

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

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

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

Наведена нижче інструкція SELECT запитує у програми Access інформацію зі стовпців E-mail Address і Company таблиці Contacts, зокрема з тих стовпців, для яких у стовпці City міститься значення «Seattle».

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

Наведений вище запит має три речення: SELECT, FROM і WHERE.

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

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

3. Речення WHERE це необов’язкове речення. У прикладі воно містить оператор (WHERE), за яким слідує вираз (Місто="Київ").

Докладні відомості про вибіркових запитів відображається створити простий Вибірковий запит.

Ось список типових речень 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

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

Приклад

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

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

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

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

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 можна настроїти, обмеживши результати запиту. Припустімо, вам потрібно знайти номер телефону клієнта, але ви пам’ятаєте лише його прізвище – Петренко. У цьому прикладі прізвища зберігаються в полі «Прізвище», отже синтаксис 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. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

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

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×