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


Дата добавления: 2014-11-24 | Просмотров: 1542


<== предыдущая страница | Следующая страница ==>

 

Запит SQL— це запит, який створюється за допомогою інструкцій SQL. Інструкція (рядок) SQL це вираз, який визначає команду SQL (SELECT, UPDATE або DELETE), та включає рядки (наприклад WHERE або ORDER BY). Інструкції SQL зазвичай застосовуються в запитах та в статистичних функціях. Мова SQL (Structured Query Language) застосовується при створенні запитів, а також для оновлення та керування реляційними базами даних, такими як бази даних Microsoft Access.

SQL - це найрозповсюдженіша мова управління базами даних в системах клієнт/сервер. Основна перевага SQL полягає в тому, що її можна використати для розробки запитів в будь-якій системі управління даними, сумісної з SQL. SQL - запит складається з послідовності SQL - інструкцій (SQL-statement), які вказують, що потрібно зробити з вхідним набором даних (таблицею або запитом) для генерації вихідного набору. Шляхом аргументів (параметрів) цих інструкцій (clause) конкретизуються дії, що виконуються, тобто задають імена полів, імена таблиць, умови, відношення і т.п. Витягнута з бази інформація (вихідний набір) обробляється за допомогою спеціальних статистичних функцій (aggregate functions). При такій обробці можна визначити, наприклад, мінімальне і максимальне значення, суму і середнє значення.

Інструкції SQL можна застосовувати в Microsoft Access в тих місцях, де можливо ввести ім’я таблиці, запиту або поля.

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

Якщо майстер не застосовувався, можливо створити інструкцію SQL у комірках властивостей Источник записей (RecordSource) або Источник строк (RowSource), застосовуючи побудовувач поряд з відповідною коміркою та створивши запит в режимі конструктора запиту.

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

Малюнок 1

 

 
 

Коли в режимі конструктора користувач створює специфікацію запиту, Access водночас будує відповідний SQL-запит. Зміни в SQL-запиті автоматично відображаються і в специфікації QBE - запиту. Щоб відобразити на екрані або виправити SQL-запит, потрібно викликати командуSQL Вид з менюВид (в режимі конструктора запиту) малюнок 1.

 

В вікніSQL вводяться інструкції, що складають SQL-запит. При введенні тексту в цьому вікні занадто довгі рядки розриваються. Для підвищення наочності інструкції кожний командний рядок SQL можна починати з нового рядка, використовуючи комбінацію клавіш (Ctrl+Enter). Наприклад:

SELECT SNUM, SFAM, SIMA, SOTCH, STIP

FROM STUDENTS;

SELECT- ключове слово, яке повідомляє БД, що ця команда є запитом.

SNUM, SFAM, SIMA, SOTCH, STIP-список полів з таблиці, які вибираються запитом. Запит не впливає на інформацію в таблицях, він тільки показує дані.

FROM STUDENTS – ключове слово, яке супроводжується ім’ям таблиці, яку використовуємо у якості джерела інформації.

Крапка з комою «;»-застосовується у всіх інтерактивних командах SQL для повідомлення БД що команда готова для виконання.

«*» -якщо необхідно отримати кожне поле таблиці. Наприклад:

SELECT * FROM STUDENTS;

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

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

SELECT DISTINCT SNUM FROM USP;

цю інструкцію застосовують для отримання списку результатів без дублікатів.

Якщо застосувати ALL, то це буде мати протилежний ефект.

WHERE – інструкція команди SELECT, яка дозволяє встановлювати предікати, умова яких можливо буде виконуватись або не виконуватись для будь-якого запису таблиці. Команда отримує тільки ті записи з таблиці, для яких таке твердження буде вірним. Наприклад:

SELECT SFAM, STIP

FROM STUDENTS

WHERE STIP=25.50;

виведуться тільки ті прізвища та розмір стипендії студентів, для яких у полі STIP буде значення 25.50.

Пов’язуючи предікати з булєвськими операторами (AND, OR, NOT) та реляційними операторами (=, >, <, >=, <=, <>), набагато збільшується можливість вибірки потрібних даних. Також можливо застосовувати спеціальні оператори IN, BETWEEN, LIKE, IS NULL.

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

COUNT, SUM, AVG, MAX, MIN. Щоб знайти суму всієї отриманої стипендії в таблиці про студентів маємо:

SELECT SUM (STIP)

FROM STUDENTS;

Функція COUNT застосовується для підрахунку кількості значень у стовбці. Наприклад:

SELECT COUNT (SNUM)

FROM USP;

Якщо з COUNT застосовувати ALL (використовується за замовчанням) – не можна підрахувати значення NULL, але враховуються дублікати, а COUNT з «*» включає записи з NULL та дублікати.

Для впорядкування виведення полів таблиць SQL має команду ORDER BY, що дозволяє сортувати виведення запиту згідно зі значеннями серед кількості полів. Якщо вказати декілька полів, то стовпці виведення впорядковуються один в середині іншого, при цьому треба визначити зростання (ASC) чи спадання (DESC) для кожного стовпця. Наприклад:

SELECT *

FROM USP

ORDER BY SFAM ASC;

виведе таблицю з інформацією про студентів в алфавітному порядку прізвищ.

Однотабличні запити – це запити, які в якості джерела даних використовують тільки одну таблицю.

Для збереження набраної в SQL вікні послідовності інструкцій необхідно натиснути кнопкуОК. Якщо в SQL-запиті немає помилок, Access сформує еквівалентний QBE-запит і заповне поля QBE-області. Тепер запит можна виконати, викликавши з менюЗапрос командуВыполнить або активізувавши кнопку із знаком оклику на панелі інструментів.

 

Контрольні питання до лабораторної роботи 1:


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |

При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.05 сек.)