Упорядкування вихідних полів (ORDER BY)
Як ми вже відзначали, записи в таблицях реляційної бази даних не впорядковані. Однак дані, виведені в результаті виконання запиту, можуть бути впорядковані. Для цього використовується оператор ORDER BY, що дозволяє впорядковувати виведені записи у відповідності зі значеннями одного або декількох обраних стовпців. При цьому можна задати зростаючу (ASC) або зменшувану (DESC) послідовність сортування для кожного зі стовпців. За замовчуванням прийнята зростаюча послідовність сортування. Приклад 1. Запит, що дозволяє вибрати всі дані з таблиці предметів навчання SUBJECT з упорядкуванням по найменуваннях предметів, виглядає таким чином: SELECT * FROM SUBJECT ORDER BY SUBJ_NAME; Приклад 2. Той же список, але впорядкований у зворотному порядку, можна одержати запитом: SELECT * FROM SUBJECT ORDER BY SUBJ_NAME DESC;
Приклад 3. Можна впорядкувати виведений список предметів навчання за значеннями семестрів, а усередині семестрів - по найменуваннях предметів. SELECT * FROM SUBJECT ORDER BY SEMESTER, SUBJ_NAME; Конструкція ORDER BY може використовуватися з GROUP BY для впорядкування груп записів. При цьому оператор ORDER BY у запиті завжди повинен бути останнім. Приклад 4. SELECT SUBJ_NAME, SEMESTER, MAX (HOUR) FROM SUBJECT GROUP BY SEMESTER, SUBJ_NAME ORDER BY SEMESTER; При впорядкуванні замість найменувань стовпців можна вказувати їхні номери, маючи, однак, на увазі, що в цьому випадку це номери стовпців, зазначені при визначенні вихідних даних у запиті, а не номери стовпців у таблиці. Полем з номером 1 є перше поле, зазначене в конструкції ORDER BY - незалежно від його розташування в таблиці. Приклад 5. SELECT SUBJ_ID, SEMESTER FROM SUBJECT ORDER BY 2 DESC; У цьому запиті виведені записи будуть упорядковані по полю SEMESTR. Якщо в полі, що використовується для впорядкування, існують NULL-значення, то всі вони розташовуються наприкінці або передують всім іншим значенням цього поля.
Завдання для самостійного виконання
1. Припустимо, що стипендія всім студентам збільшена на 20%. Напишіть запит до таблиці STUDENT, що виконує вивід номера студента, прізвище студента й величину збільшеної стипендії. Вихідні дані впорядкувати: а) за значенням останнього стовпця (величині стипендії); б) за абеткою прізвищ студентів. 2. Напишіть запит, що по таблиці EXAM_MARKS дозволяє знайти а) максимальні й б) мінімальні оцінки кожного студента і який виводить їх разом з ідентифікатором студента. 3. Напишіть запит, що виконує вивід списку предметів навчання в порядку а) зменшення семестрів і б) зростання годин, що відводяться на предмет. Поле семестру у вихідних даних повинне бути першим, за ним повинні знаходитися назва предмета навчання й ідентифікатор предмета. 4. Напишіть запит, що виконує вивід суми балів всіх студентів для кожної дати здачі іспитів і представляє результати в порядку зменшення цих сум. 5. Напишіть запит, що виконує вивід а) середнього, б) мінімального, в) максимального балів всіх студентів для кожної дати здачі іспитів і який представляє результати в порядку зменшення цих значень.
3 .7. Лабораторна робота №7
Читайте также: Варіанти вихідних даних для вирішення задач оцінки захисних споруд Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|