Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 5173 Методичні вказівки з курсу Бази даних на тему Робота з запитами

Методичні вказівки з навчальної дисципліни Бази даних на тему Робота з запитами в Access

« Назад

Замовити лабораторну роботу до теми можна тут!

Теоретичні відомості

Запит – засіб мови SQL за допомогою якого можна отримати необхідну інформацію з таблиць бази даних.

Мова SQL (Structured Query Language - структурована мова запитів) орієнтована на операції з даними, представленими у вигляді логічно взаємозв`язаних сукупностей таблиць. Особливістю цієї мови є те, що вона орієнтована на кінцевий результат обробки даних, а не на процедуру самої обробки. SQL сама визначає, де знаходяться дані, які індекси є найбільш ефективні та які послідовності операцій потрібно використати для отримання даних. SQL не процедурна мова. SQL – це стандарт для роботи з реляційними базами даних. В SQL реалізована концепція операцій, орієнтованих на табличне представлення даних. Мова SQL може використовуватись як інтерактивна (для виконання запитів) і як вбудована (для побудови прикладних програм).

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

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

1. Побудова простих запитів на базі однієї таблиці (Вибірка даних з однієї таблиці)

1.1. Вибірка даних з окремих полів таблиці (вертикальна вибірка)

Для роботи із запитами у середовищі СКБД Access потрібно перейти на закладку «Запити» у вікні БД (рис. 1.1).

М5173, Рис. 1.1 - Створення запиту за допомогою майстра

Рис. 1.1 - Створення запиту за допомогою майстра

Для прикладу створимо запит, який виведе із таблиці Студент інформацію про № залікової книжки, Прізвище, Ім’я, Групу та Курс. При цьому будуть виводитись всі записи з таблиці Студент. Для формування цього запиту скористаємось майстром побудови запитів. На першому кроці потрібно вибрати таблицю та поля таблиці, з яких буде вибиратись потрібна інформація (рис. 1.2).

М5173, Рис. 1.2 - Вибір полів таблиці для побудови запитів

Рис. 1.2 - Вибір полів таблиці для побудови запитів

Наступний крок – вибір типу запиту: детальний (простий) або підсумковий (з групуванням даних). У даному випадку підходить детальний вивід інформації, тобто вибір усіх записів таблиці Студент (рис. 1.3).

М5173, Рис. 1.3 - Вибір типу запиту

Рис. 1.3 - Вибір типу запиту

Останній крок (рис. 1.4) – введення імені запиту та запуск запиту на виконання або виведення макету запиту в режимі конструктора.

М5173, Рис. 1.4 - Введення імені запиту

Рис. 1.4 - Введення імені запиту

Результат виконання запиту показано на рис. 1.5.

М5173, Рис. 1.5 - Перегляд результату виконання запиту

Рис. 1.5 - Перегляд результату виконання запиту

Створений запит можна відкоригувати за допомогою конструктора (рис.1.6). Вікно конструктора запитів поділено на дві частини. У верхню частину заноситься таблиця, з якої будуть вибиратись дані для виконання запиту. У нижній частині вказуються поля, які будуть приймати участь у формуванні запиту. Обов’язково потрібно вказати таблицю, в якій знаходяться вказані поля. Опція «вивід на екран» показує чи включати вказане поле у результат запиту. Використовуючи опцію «сортування» можна вказати поля, по яким буде проводитись впорядкування записів у вибірці.

М5173, Рис. 1.6 - Вікно конструктора запитів

Рис. 1.6 - Вікно конструктора запитів

Побудований запит, за допомогою опції меню «Вид» (рис.1.7), можна переглядати у декількох режимах:

М5173, Рис. 1.7 - Вибір режиму перегляду запиту

Рис. 1.7 - Вибір режиму перегляду запиту

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

На рис. 1.8. наведено приклад SQL-запиту, який буде сформовано за опціями конструктора запитів, наведеними на рис. 1.6.

М5173, Рис. 1.8 - Перегляд зформованого запиту у режимі SQL

Рис. 1.8 - Перегляд зформованого запиту у режимі SQL

У даному запиті використані наступні стандартні опції SQL-команди:

SELECT (вибрати) – вказуються поля, які будуть включені у результат вибірки, якщо необхідно можна формувати нові поля на базі існуючи даних, використовуючи операції обробки даних (арифметичні, строкові та ін.) та різноманітні функції. Це обов’язковий розділ, він обов’язково повинен бути присутній в команді запиту.

Часто імена полів, з яких буде виводитись інформація вказуються не самостійно, а в парі:

<назва таблиці>.<назва поля>

У випадку, коли вибираються всі поля з таблиці, замість переліку полів вказується *, або

<назва таблиці>.*

FROM (з) – вказуються таблиці, з яких буде проводитись вибірка даних. Це також обов’язковий розділ, який завжди повинен бути присутній в команді запиту.

ORDER BY (впорядкувати) – дозволяє встановити бажаний порядок перегляду результату виразу запитів: ASC – у зростаючому / DESC – у спадаючому порядку. За змовчанням впорядкування даних проводиться у зростаючому порядку. Головне призначення ORDER BY - зробити результат вибірки найбільш зручним для сприйняття.

Синтаксис розглянути опції команди SELEC можна записати у наступному вигляді:

SELECT <список стовпчиків> / *

FROM <список таблиць>

[ORDER BY <стовпчик>[ASC / DESC], <стовпчик2> [ASC / DESC]... ]

Під час конструювання запиту на панелі інструментів Access з’являються додаткові кнопки для роботи з запитами (рис. 1.9).

М5173, Рис. 1.9 - Панель інструментів для побудови запиту

Рис. 1.9 - Панель інструментів для побудови запиту

1.2. Відбір записів з таблиці (горизонтальна вибірка)

До результату запиту можна включати не всі записи з таблиці, а тільки ті, які задовольняють критерії відбору записів. Для визначення критеріїв відбору записів у режимі конструктора використовують опцію «Умова відбору» (рис. 1.10).

За допомогою цієї опції для кожного вибраного поля можна вказати одну, або декілька умов (використовуючи додатковий рядок «або/или»), за якими Access буде проводити відбір записів до результату вибірки. На рис. 1.10а вказано, що до результату вибірки потрібно включати тільки інформацію про студентів 3 та 4 курсів. Таку ж саму умову можна вказати, використовуючи оператор «OR» (рис. 1.10б).

М5173, Рис. 1.10а - Задання критеріїв відбору записів з використанням рядка «або»

Рис. 1.10а - Задання критеріїв відбору записів з використанням рядка «або»

М5173, Рис. 1.10б - Задання критеріїв відбору записів з використання логічних операторів

Рис. 1.10б - Задання критеріїв відбору записів з використання логічних операторів

Рис. 1.10. Задання критеріїв відбору записів до результату вибірки

У вигляді команди мови SQL зформований запит буде виглядати наступним чином:

М5173, Рис. 1.11 - Запит з відбором рядків у форматі мови SQL

Рис. 1.11 - Запит з відбором рядків у форматі мови SQL

У форматі SQL для відбору записів із вказаних таблиць використовується розділ WHERE(де):

[WHERE < логічний вираз>].

Найчастіше у якості логічного виразу виступає умова з використанням логічних операторів порівняння (=,>,<,>=,<=,<>,!=,!<,!>), оператору заперечення NOT та логічних операторів AND, OR. Крім цих операторів у вразі можуть бути використані любі функції та вирази, результат виконання, яких буде логічного типу (True, False).

Серед логічних операторів у відповідності з SQL можуть використовуватись також наступні спеціальні предикати: предикат between, предикат in, предикат like, предикат null, а також вбудовані підзапити з предикатами exists, some/any, all. Але розгляд цих операторів не входить до даної лабораторної роботи і може бути розглянутий в рамках самостійної роботи студентів.

Відразу відмітимо, що в усіх реалізаціях SQL на ефективність виконання запиту істотно впливає наявність в умові пошуку простих операторів порівняння. Наявність таких предикатів дозволяє СУБД використовувати індекси при виконанні запиту, тобто уникати повного перегляду таблиці. Хоча в принципі мова SQL дає можливість користувачам не піклуватися про конкретний набір операторів в умові вибірки (аби вони були синтаксично і семантично правильні), при реальному використанні SQL-орієнтованих СУБД такі технічні деталі потрібно пам`ятати.

Після запуску запиту на виконання за допомогою кнопки М5173, 1, Кнопка Виконання, розглянутого вище запиту отримаємо результат, представлений на рис. 1.12.

М5173, Рис. 1.12 - Перегляд результату запиту з вибором інформації про студентів 3 та 4 курсів

Рис. 1.12 - Перегляд результату запиту з вибором інформації про студентів 3 та 4 курсів

У режимі SQL сформовану команду можна редагувати. Всі внесені зміни автоматично перенесуться у всі інші режими перегляду та формування запиту. Наприклад розглянемо також запит у якому відбираються деякі відомості про студентів спеціальності №5, які навчаються на курсі старше 3 (рис. 1.13).

М5173, Рис. 1.13а - SQL-запит

Рис. 1.13а - SQL-запит

М5173, Рис. 1.13б - Запит у вікні конструктора

Рис. 1.13б - Запит у вікні конструктора

М5173, Рис. 1.13с - Результат виконання запиту

Рис. 1.13с - Результат виконання запиту

Рис. 1.13. Приклад формування запиту з використанням розділу WHERE

2. Побудова запитів з групуванням даних

Групування даних – об’єднання даних за загальною ознакою. Запит на групування даних дозволяє розбити вибірку на декілька (підмножину) груп по заданому критерію (по заданому полю). Для визначення результату групування в стандарті SQL використовується термін "згрупована таблиця".

В результаті групування відібрані після фрази WHERE записи розбиваються на кілька груп рядків, які мають однакові дані в полі, по якому проводиться групування. В результаті всі записи однієї групи об’єднуються в один рядок. Така специфічна операція найчастіше використовується разом з набором агрегатних функції – спеціальні функції, які примінюються до кожної окремої групи рядків.

Наприклад, спробуємо підрахувати кількість студентів на кожному курсі за допомогою майстра побудови запитів. Спочатку вибираємо таблицю Студент, а в ній вибираємо поле Курс (рис. 2.1).

М5173, Рис. 2.1 - Вибір полів для підрахунку кількості студентів на кожному курсі за допомогою майстра побудови запитів

Рис. 2.1 - Вибір полів для підрахунку кількості студентів на кожному курсі за допомогою майстра побудови запитів

Для нашого запиту потрібно знайти підсумок – кількість студентів, я кількість студентів можна взнати, якщо підрахувати кількість записів у таблиці студент (рис. 2.2).

М5173, Рис. 2.2 - Підрахунок кількості записів за допомогою майстра побудови запитів

Рис. 2.2 - Підрахунок кількості записів за допомогою майстра побудови запитів

Останній крок – введення імені запиту (рис. 2.3) та запуск запиту на виконання.

М5173, Рис. 2.3 - Введення імені запиту у вікні майстра побудови запитів

Рис. 2.3 - Введення імені запиту у вікні майстра побудови запитів

У результаті виконання запиту отримаємо вибірку з двох полів (рис.2.4): поля Курс, яке ми вибрали для групування даних, і поля Кількість_студентів, яке містить інформацію про кількість записів на кожному курсі таблиці Студент.

М5173, Рис. 2.4 - Результат виконання запиту, кількість студентів на кожному курсі

Рис. 2.4 - Результат виконання запиту: кількість студентів на кожному курсі

Розглянемо, як виглядає цей запит у режимі конструктора (рис. 2.5). Перше поле вибирається з полів таблиці Студент. Друге поле формується за допомогою функції count(*), яка підраховує кількість записів. Другому полю задається нова назва: Count-Student (Кількість-Студент). У опції «Групова операція» в полі Курс вказано слово «Групування», це значить, що саме за цим критерієм буде проводитись групування (об’єднання) даних. А поле Кількість-Студент – є виразом, який буде обчислюватись на базі кожної групи даних.

М5173, Рис. 2.5 - Формування запиту з групуванням даних у режимі конструктора

Рис. 2.5 - Формування запиту з групуванням даних у режимі конструктора

Додати або забрати опцію «Групова операція» можна за допомогою пунктів меню «Вид» → «Групові операції», який з’являється при роботі із запитом (рис. 2.6).

М5173, Рис. 2.6 - Доповнення опції «Групова операція» у вікні конструктора запитів

Рис. 2.6 - Доповнення опції «Групова операція» у вікні конструктора запитів

У режимі SQL запит буде виглядати наступним чином:

М5173, Рис. 2.7 - Запит з групуванням даних у режимі SQL

Рис. 2.7 - Запит з групуванням даних у режимі SQL

Для виконання операції групування використовується розділ GROUP BY (групуючи по), який має наступний синтаксис:

GROUP BY <поле> [, <поле2>...]

Дуже часто при групуванні даних використовуються функції агрегування.

Агрегатні функції потрібні для того, щоб обчислювати деяке значення для заданої множини рядків. Такою множиною рядків може бути група рядків, якщо агрегатна функція застосовується до згрупованої таблиці, або вся таблиця. Для всіх агрегатних функцій, крім COUNT(*), фактичний порядок обчислень наступний: на підставі параметрів агрегатної функції із заданої множини рядків виробляється список значень. Потім по цьому списку значень проводиться обчислення функції. Якщо список виявився порожній, значення функції COUNT() для нього дорівнює 0, а значення всіх інших функцій null.

В SQL існує ряд спеціальних стандартних функцій (SQL-функцій). Крім спеціального випадку COUNT (*) кожна з цих функцій оперує сукупністю значень стовпчика деякої таблиці і створює єдине значення, що визначається так:

COUNT (*) - кількість значень у стовпчику,

SUM (<поле>)- сума значень у стовпчику,

AVG (<поле>) - середнє значення у стовпчику,

MAX (<поле>)- саме велике значення у стовпчику,

MIN (<поле>) - саме мале значення у стовпчику.

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

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

Спочатку скористаємося майстром побудови запитів. При виборі полів таблиці Студент для роботи нам необхідно вибрати поля Курс та Рейтинг (рис. 2.8).

М5173, Рис. 2.8 - Вибір полів для підрахунку середнього та сумарного значень по рейтингу для кожного курсу

Рис. 2.8 - Вибір полів для підрахунку середнього та сумарного значень по рейтингу для кожного курсу

При визначенні типу запиту, знову вибираємо підсумковий тип (рис. 2.9). Та вказуємо по якому полю потрібно буде проводити обчислення суми та середнього арифметичного значення для групи даних. Відмічаємо також необхідність підрахунку кількості записів, яка нам дасть кількість студентів на кожному курсі. Так як кількість записів не залежить від обчислення даних в конкретних полях, ця опція також розміщена окремо від інших опцій у вікні.

М5173, Рис. 2.9 - Вибір агрегатних функцій для підрахунку даних по окремим полям

Рис. 2.9 - Вибір агрегатних функцій для підрахунку даних по окремим полям

У режимі конструктора сформований запит виглядає наступним чином (рис. 2.10):

Крім вибраного з таблиці поля Курс сформовані ще три поля Сума по полю Рейтинг – Sum(Rejting), Середнє арифметичне по полю Рейтинг – Avg(Rejting), Кількість записів – Count(*).

М5173, Рис. 2.9 - Запит з використанням агрегатних функцій у вікні конструктора

Рис. 2.9 - Запит з використанням агрегатних функцій у вікні конструктора

У режимі SQL запит буде виглядати так:

М5173, Рис. 2.10 - SQL - запит з використанням агрегатних функцій

Рис. 2.10 - SQL - запит з використанням агрегатних функцій

Результат виконання такого запиту показано на рис. 2.11.

М5173, Рис. 2.11 - Результат виконання SQL-запиту з використанням агрегатних функцій

Рис. 2.11 - Результат виконання SQL-запиту з використанням агрегатних функцій

Для згрупованих записів також можна використовувати умову для відбору згрупованих записів. У віні конструктора запитів ця умова записується у розділі «Умова відбору», як і в попередніх випадках.

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

HAVING <умова>

Розділ HAVING зазвичай з'являється в табличному виразі тільки в тому випадку, коли в ньому є розділ GROUP BY. Умова пошуку цього розділу задає умову на групу рядків згрупованої таблиці. Формально розділ HAVING може бути присутнім і в табличному виразі, який не має GROUP BY. В цьому випадку вважається, що вся являє собою згруповану таблицю (більш правильно сказати, псевдозгруповану), яка складається з однієї групи (діє як аналог WHERE). Умова пошуку розділу HAVING будується по тим самим синтаксичним правилам, що і умова пошуку розділу WHERE. Але є деякі обмеження що до умови пошуку, які виходять з того, що умова пошуку розділу HAVING задає умову на вже сформовану групу у якій підраховані результати агрегатних функцій, а умова розділу WHERE діє на рядки, які включаються до вибірки ще перед групуванням даних.

Прикладом може бути наступна умова: підрахувати сумарний рейтинг студентів кожного курсу факультету № 14 та вивести тільки курси, де сумарний рейтинг перевищує значення 20.

Такий запит буде виглядати наступним чином:

М5173, Рис. 2.12а - SQL - запит

Рис. 2.12а - SQL - запит

М5173, Рис. 2.12б - Запит у віні конструктора

Рис. 2.12б - Запит у віні конструктора

Рис. 2.12. Запит з відбором згрупованих і не згрупованих даних

3. Побудова запитів на базі декількох таблиць (Вибірка даних з декількох таблиць)

Звичайно, для того щоб вибирати дані з декількох таблиць використовується розділ FROM, який вказує де шукати потрібні записи. У найпростішому випадку синтаксис розділу у форматі SQL буде наступний:

FROM <ім`я таблиці> [,<ім`я таблиці2>...]

Результатом виконання розділу FROM є розширений декартовий добуток таблиць, заданих списком таблиць розділу FROM. Тобто ми отримаємо перебір всіх можливих варіантів об’єднання записів із вказаних таблиць. Звичайно використовувати такий запит можна лише у тому випадку, коли буде задано додаткова умова об’єднання таблиць у розділі WHERE.

Так, наприклад, якщо потрібно отримати деяку інформацію про студентів (№ залікової книжки, Прізвище, Ім’я, Код факультету) з таблиці Студент та отримати деяку розшифровку назви факультету (Назва скорочена, Корпус) з таблиці Факультет SQL-запит буде виглядати як показано на рис. 3.1а, а у вікні конструктора запитів ми побачимо картину, яку показано на рис. 3.1б.

М5173, Рис. 3.1а - SQL - запит з використанням двох таблиць

Рис. 3.1а - SQL - запит з використанням двох таблиць

М5173, Рис. 3.1б - Запит у віні конструктора з використанням двох таблиць

Рис. 3.1б - Запит у віні конструктора з використанням двох таблиць

Рис. 3.1. Запит з використанням двох таблиць та вказаною умовою об’єднання даних з таблиць

Але такий запит можна сформувати і у іншому вигляді. Для цього спочатку скористаємося майстром побудови запитів. Спочатку виберемо потрібні поля з таблиць Студент та Факультет (рис. 3.2).

М5173, Рис. 3.2а - Вибір даних з таблиці Студент

Рис. 3.2а - Вибір даних з таблиці Студент

М5173, Рис. 3.2б - Вибір даних з таблиці Факультет

Рис. 3.2б - Вибір даних з таблиці Факультет

Рис. 3.2. Вибір даних з таблиць за допомогою майстра побудови запитів

На наступному кроці виперемо тип запиту – детальний (рис. 3.3).

М5173, Рис. 3.3 - Вибір типу запиту

Рис. 3.3 - Вибір типу запиту

На останньому кроці введемо назву запиту та завершимо його формування (рис. 3.4).

М5173, Рис. 3.4 - Завершення формування запиту

Рис. 3.4 - Завершення формування запиту

Після запуску запиту на виконання отримаємо наступну вибірку:

М5173, Рис. 3.5 - Результат вибірки даних із двох таблиць

Рис. 3.5 - Результат вибірки даних із двох таблиць

У режимі конструктора сформований запит буде виглядати, як показано на рис. 3.6. Як ми бачимо у цьому випадку умови в опції «Умова відбору» немає. Але у верхній частині конструктора автоматично відобразився зв'язок між таблицями, який і містить у собі прописану у схемі даних умову об’єднання таблиць.

Такий самий результат ми отримаємо і при попередньо сформованому запиті (рис. 3.1).

М5173, Рис. 3.6 - Вибірка даних із зв’язаних таблиць у режимі конструктора

Рис. 3.6 - Вибірка даних із зв’язаних таблиць у режимі конструктора

Розглянемо, як прописана така умова у режимі SQL (рис. 3.7).

М5173, Рис. 3.7 - SQL-запит на вибірку даних із двох таблиць з використанням умови внутрішнього об’єднання даних

Рис. 3.7 - SQL-запит на вибірку даних із двох таблиць з використанням умови внутрішнього об’єднання даних

В розділі FROM можна встановити об`єднання між таблицями за допомогою опції JOIN.

Синтаксис цього розділу буде наступний:

FROM [<Ім’я бази даних>! ] <Таблиця>

[[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN

[<Ім’я бази даних>!] <Таблиця>

[ON <Умова об’єднання даних з двох таблиць> …]

INNER JOIN... ON - (внутрішнє об’єднання) специфікація, яка має в результаті запиту тільки ті записи, для яких записи з однієї таблиці відповідають записам з другої таблиці. Тобто в результаті можна побачити тільки ті записи для яких виконується задана умова.

LEFT [OUTER] JOIN... ON - (ліве зовнішнє об’єднання) створює об’єднання таблиць, в якому вибираються всі записи з лівої таблиці і тільки відповідні їм записи з правої таблиці, тобто записи в яких значення вказаного поля співпадають з записами лівої таблиці.

RIGHT [OUTER] JOIN... ON - (праве зовнішнє об’єднання) створює об’єднання таблиць, в якому вибираються всі записи з правої таблиці і тільки відповідні їм записи з лівої таблиці.

FULL [OUTER] JOIN... ON - (повне зовнішнє об’єднання) створює об’єднання таблиць, в якому вибираються всі записи з лівої та правої таблиць.

Необхідний вид об’єднання таблиць можна вказати у схемі даних. Так наприклад розглянемо частину схеми даних нашої БД, а саме зв'язок між таблицями Студент та Факультет. Якщо зробити подвійний клік на зв’язку між таблицями, відкриється вікно редагування властивостей вибраного зв’язку та встановлення правил перевірки зсилочної цілісності даних (рис. 3.8)

М5173, Рис. 3.8 - Частина схеми даних, зв'язок між таблицями Студент та Факультет

Рис. 3.8 - Частина схеми даних, зв'язок між таблицями Студент та Факультет

У вікні коригування властивостей зв’язку є кнопка «Об’єднання». При натисканні на цю кнопку активізується вікно, у якому можна задати параметри об’єднання даних з двох таблиць (рис. 3.9).

М5173, Рис. 3.9 - Вікно із вказаним внутрішнім об’єднанням даних таблиць

Рис. 3.9 - Вікно із вказаним внутрішнім об’єднанням даних таблиць

За замовчанням у цьому вікні вказано внутрішній тип об’єднання даних. Якщо ж ми змінимо п.1 на п.2, ми отримаємо ліве зовнішнє об’єднання даних. Тобто в результат вибірки будуть включені всі записи із таблиці Факультет, а з таблиці Студент будуть виведені тільки ті записи, які задовольняють вказану умову об’єднання даних – співпадання кодів факультетів у обох таблицях. Таке заповнення таблиць можливе, оскільки у довіднику факультетів можуть знаходитись дані і про ті факультети для яких ще немає інформації про студентів. Результат виконання запиту у цьому випадку може виглядати наступним чином:

М5173, Рис. 3.10 - Результат вибірки даних із двох таблиць із зовнішнім типом об’єднання даних

Рис. 3.10 - Результат вибірки даних із двох таблиць із зовнішнім типом об’єднання даних

SQL-запит на вибірку даних із двох таблиць у цьому випадку буде виглядати як показано на рис. 3.11. Як ми бачимо таблиця Факультети знаходиться зліва від слова JOIN, тому тут використовується ліве зовнішнє об’єднання даних.

М5173, Рис. 3.11 - SQL-запит на вибірку даних із двох таблиць з використанням умови лівого зовнішнього об’єднання даних

Рис. 3.11 - SQL-запит на вибірку даних із двох таблиць з використанням умови лівого зовнішнього об’єднання даних

SQL-команди можуть використовуватись не тільки для формування запитів на вибірку даних. Існують команди для створення таблиць, доповнення, видалення та редагування даних у таблицях, та ін. Ці команди можна сформувати і в середовищі Access, використовуючи для цього пункт меню «тип запиту» (рис.3.12). Але розгляд цих команд не входить до даної лабораторної роботи і може бути розглянутий самостійно.

М5173, Рис. 3.12 - Типи запитів Access

Рис. 3.12 - Типи запитів Access

З повагою ІЦ "KURSOVIKS"!