- •0927 – "Видавничо-поліграфічна справа" для магістрантів
- •0927 – "Видавничо-поліграфічна справа" для магістрантів
- •1 Вивчення метод і в збору та накопичення даних
- •1.5 Контрольні питання:
- •1.6 Літературні джерела:
- •1 Вивчення метод і в збору та накопичення даних
- •2.5 Контрольні питання:
- •2.6 Літературні джерела:
- •2 Вивчення методів пошуку та опрацювання даних
- •Завдання1. Пригадати синтаксис оператора select для вибірки даних.
- •Завдання 3. Створити вибірку за заданим критерієм з таблиці, яка є результатом злиття двох інших таблиць autors та titles бази даних publications. Порядок виконання завдання 3:
- •Завдання 4. Об’єднати три початкові таблиці authors, titles та publishers в одну результативну таблицю і створити вибірку до неї відповідно до заданого критерію. Порядок виконання завдання 4:
- •2 Вивчення методів пошуку та опрацювання даних
- •Завдання 3. Створити запит з розрахунком всередині інструкції Select.
- •4.6 Літературні джерела:
- •3 Вивчення методів оформлення наукових результатів
- •Завдання 2. Вивчити процедуру конкатенації даних – об’єднання стовпців.
- •Завдання 4. Вирішити функціональну задачу на основі складного запиту.
- •Завдання 5. Вивчити формат команд угруповування даних
- •Завдання 6. Вивчити формат команд сортування даних
- •3 Вивчення методів оформлення наукових результатів
- •0927 – "Видавничо-поліграфічна справа" для магістрантів
Завдання 6. Вивчити формат команд сортування даних
Для сортування даних в операторі SELECT використовується ключове слово ORDER BY. З його допомогою можна сортувати результати по будь-якому стовпцю або виразу, зазначеному в <списку_вибору>. Дані можуть бути упорядковані як по зростанню, так і по убуванню.
Порядок виконання завдання 6:
Приклад 4. Відсортувати список авторів за алфавітом командою:
SELECT author FROM authors ORDER BY author;
Приклад 5. Одержати список авторів, відсортований за алфавітом, і список їхніх публікацій, причому для кожного автора список книг сортується за часом видання в зворотному порядку (тобто спочатку більш "свіжі" книги, потім більш "давні"):
SELECT authors.author,titles.title,titles.yearpub,publishers.publisher
FROM ((titleauthors INNER JOIN authors ON
titleauthors.au_id=authors.au_id) INNER JOIN titles ON
titleauthors.title_id=titles.title_id) INNER JOIN publishers ON
titles.pub_id=publishers.pub_id ORDER BY authors.author ASC, titles.yearpub DESC;
Ключове слово DESC (висхідний) задає зворотний порядок сортування по полю yearpub, ключове сло ASC (нисхідний) – прямий порядок сортування по полю author (його можна опускати).
Завдання 7. Вивчити порядок створення вкладених запитів
Найбільше повно переваги ключового слова IN виявляються у вкладених запитах, котрі також називаються підзапитами. Припустимо, потрібно знайти усі видання, випущені компанією "Oracle Press". Найменування видавничих компаній утримуються в таблиці publishers, назви книг у таблиці titles. Ключове слово IN дозволяє об'єднати обидві таблиці (без одержання спільної таблиці) і витягти при цьому потрібну інформацію.
Порядок виконання завдання 7:
Приклад 6. Витягти потрібну інформацію командою:
SELECT title FROM titles WHERE pub_id IN (SELECT pub_id
FROM publishers WHERE publisher='Oracle Press');
При виконанні цієї команди СКБД спочатку обробляє вкладений запит по таблиці publishers, а потім його результат передає на вхід основного запиту по таблиці titles.
Приклад 7. Цей приклад дозволяє вибирати дані по параметру, котрий обчислюється вкладеним запитом. Припустимо, що потрібно знайти назва і рік видання книг автора W.J. Gordon.
Для пошуку скористаємося командою:
SELECT titles.title, titles.yearpub FROM titles
WHERE title_id = (SELECT title_id FROM titleauthors
WHERE au_id = (SELECT au_id FROM authors
WHERE author = ‘W.J. Gordon’));
Завдання 8. Реалізувати наступні запити засобами SQL
При виконанні завдання 6 всі обчислювальні поля заміняти синонімами, використовуючи опцію AS у пропозиції SELECT.
Приклад 8. Виконати команду за таким взірцем:
SELECT COUNT(*) AS Кількість_рядків FROM titles;
Порядок виконання завдання 8:
1. Одержати список замовлень, кількість яких складає більш 3.
2. Одержати список виробів і їхньої ціни, відсортувати список по зростанню (по убуванню) ціни.
3. Знайти замовлення, в полі «Адреса» яких існує слово «вул. Сумська».
4. Знайти замовлення, по яких сума постачань перевищує 5.
5. Одержати список виробів, що поставляються, сумарна ціна яких перевищує 20, і відсортувати за абеткою.
6. Одержати список виробів, для яких у поле «Характеристика» є присутнім слово «металевий».
5.5 Контрольні питання
1. Чим відрізняються пропозиції WHERE і HAVING?
2. Що обчислює функція COUNT?
3. Як використовується пропозиція GROUP BY?
4. Що задає пропозицію ORDER BY?
5.6 Завдання для самостійного виконання:
Пропонується повторити функції дати і часу:
- Date() – поточна дата, тобто сьогоднішнє число, місяць і рік;
- Dау(дата) – витягає з дати день, наприклад дата - 12,09,97, результат застосування функції – число 12;
- Year(дата) – витягає з дати рік, наприклад дата - 12-09,97, результат застосування функції – число 97.
5.7 Літературні джерела:
1. Велинг, Люк, Томсон, Лора. MySQL. Учебное пособие. – М.: Вильямс, 2005. – 304 с.
2. Уилтон, Пол, Колби, Джон. SQL для начинающих. – М.: Вильямс, 2006. – 496 с.
3. Моркес Д. Access 2003. Эффективный самоучитель. – СПб.: Наука и техника, 2006. – 352 с.
4. Золотова С.В. Практикум по Access. – М.: Финансы и статистика, 2004. – 144 с.