Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
23.02.2016
Размер:
2.35 Mб
Скачать
  1. Створення sql – запиту на вибірку

Відкрити вікно SQL- запиту можна із режиму ЗапросКонструктор та:

  • розкрити список кнопки панелі інструментів Вид і вибрати Режим SQL;

  • в контекстного меню вибрати Режим SQL;

  • в меню Вид вибрати Режим SQL.

В вікно, що відкривається потрібно занести SQL – інструкцію, яка вказує СУБД, що потрібно зробити з даними БД, щоб одержати очікувану таблицю запиту. Структура інструкції повинна вводитися в відповідності з такими правилами синтаксису:

  • параметри інструкції на вибірку повинні записуватись в такій послідовності:

SELECT <список полів запиту> [AS<псевдонім>]

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

[WHERE<критерій фільтрації даних>]

[GROUP BY<список полів групування>]

[HAVING <критерії пошуку агрегатних даних>]

[ORDER BY<список полів сортування>];

  • ідентифікатори полів розділяються комами;

  • ідентифікатори, які мають розділовий знак (пропуск, дефіс тощо) потрібно брати в квадратні дужки;

  • якщо в різних таблицях є ідентифікатори, що повторюються, потрібно писати повну специфікацію поля (ім’я таблиці.ідентифікатор);

  • в кінці інструкції потрібно ставити розділовий знак „крапка з комою” (;);

  • якщо сортування ведеться в бік зменшення значень поля, в параметрі ORDER BY потрібно задавати ключове слово DESC;

  • вибірку всіх полів таблиці позначають символом *;

  • якщо вибране поле БД потрібно позначити іншим підписом, в параметрі SELECT ці імена з’єднуються службовим словом AS;

  • службові слова SQL- інструкції можна писати як великими так і малими літерами латині;

  • вважається, що інструкція SQL- запиту записується в один рядок; для продовження її на іншому рядку потрібно виконати команду [Ctrl+Enter].

Розглянемо ряд прикладів побудови та виконання SQL- запитів на вибірку:

  1. Вибирати в окрему таблицю інформацію про всіх студентів.

SELECT *

FROM STUDENTI;

  1. Знайти шифри груп будівельного факультету.

SELECT shifr_grypi

FROM GRUPI

WHERE nazva_fakultetu=’БФ’;

  1. Вибрати усіх студентів університету, що отримують стипендію 250 грн.

SELECT *

FROM STUDENTI

WHERE stipendiya=250;

  1. Роздрукувати всі групи факультету ФЕФ першого та другого курсів.

STUDENTI *

FROM GRUPI

WHERE nazva_fakultetu=’ФЕФ’ AND kurs<3;

  1. Вибрати дані усіх груп 1 та 2 курсу за виключенням БФ.

STUDENTI *

FROM GRUPI

WHERE NOT nazva_fakultetu=’БФ’ AND kurs<3;

  1. Вибирати лише тих студентів, які стипендію 300 та 305 грн.

SELECT *

FROM STUDENTI

WHERE stipendiya IN(300, 305);

  1. Вибрати студентів, які одержують стипендію від 250 до 300 грн. включно.

SELECT *

FROM STUDENTI

WHERE stipendiya BETWEEN 250 AND 300;

  1. Приведемо ще один приклад. Створимо запит по витратам на виплату стипендій по групам університету.

SELECT GRUPI.shifr_grypi, SUM(STUDENTI.stipendiya) AS [Сума]

FROM GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi

GROUP BY GRUPI.shifr_grypi;

В цій інструкції параметр

<Таблиця1> INNER JOIN <Таблиця2> ON<поле1>=<поле2> вказує зв’язки між таблицями БД. В даному прикладі застосовано агрегатну функцію для знаходження суми

  1. Необхідно вибрати студентів групи У-62, що здали вчасно зимову сесію 2007 року.

SELECT STUDENTI.PIP, AVG(OZINKI.ocinka) AS [Середня оцінка]

FROM (GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi) INNER JOIN OZINKI ON STUDENTI.N_zalikovki = OZINKI.N_zalikovki

WHERE GRUPI.shifr_grypi="У-62" AND OZINKI.data BETWEEN #09/01/2007# AND #02/07/2008#

GROUP BY STUDENTI.PIP

HAVING AVG(OZINKI.ocinka)>=3;

  1. Наступний приклад демонструє застосування в інструкції функції LIKE:

SELECT STUDENTI.N_zalikovki, STUDENTI.PIP, STUDENTI.stipendiya

FROM GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi

WHERE GRUPI.shifr_grypi="М-42" AND STUDENTI.PIP LIKE "К*";

Тут вибираються із групи М-42 всі студенти, прізвище яких починається на літеру „К”.