Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Загальна характеристика операторів мови SQL

Реферат Загальна характеристика операторів мови SQL





T id_st, surnamestudent

WHERE surname LIKE А%

Дуже часто виникає необхідність провести обчислення мінімальних, максимальних або середніх значень в стовпцях. Так, наприклад, може знадобитися обчислити середній бал. Для здійснення подібних обчислень SQL надає спеціальні агрегатні функції: - мінімальне значення в стовпці; - максимальне значення в стовпці; - сума значень в стовпці; - середнє значення в стовпці; - кількість значень в стовпці, відмінних від NULL.

Наступний запит рахує середнє серед всіх балів, отриманих студентами на іспитах.

SELECT AVG (mark) mark_st

Природно, можна використовувати агрегатні функції спільно з пропозицією WHERE:

SELECT AVG (mark) mark_st

WHERE id_st=100

Даний запит обчислить середній бал студента з кодом 100 за результатами всіх зданих нею іспитів.

SELECT AVG (mark) mark_st

WHERE id_ex=10

Даний запит обчислить середній бал студентів за результатами складання іспиту з кодом 10.В додаток до розглянутих механізмам мова SQL надає потужний апарат для обчислення агрегатних функцій не для всієї таблиці результатів запиту, а для різних значень по групах. Для цього в SQL існує спеціальна конструкція GROUP BY, призначена для вказівки того стовпця, за значеннями якого буде проводитися угруповання. Так, наприклад, ми можемо обчислити середній бал по всіх іспитах для кожного студента. Для цього досить виконати наступний запит: id_st, AVG (mark)

FROM mark_stBY id_st

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

Наведемо запит, який обчислює середній бал за оцінками, отриманим на іспиті з кодом 100, для кожного студента.

SELECT id_st, AVG (mark) mark_stid_ex=100

GROUP BY id_st

Зауважимо, що угруповання може виготовлятися більш ніж по одному полю.

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

Для того щоб форматувати висновок, існують різні можливості SQL. Так, наприклад, допустимим є включення тексту в запит. Розглянемо приклад того, як це робиться:

SELECT Середній бал= raquo ;, AVG (mark) mark_st

WHERE id_ex=10

У результаті даного запиту користувач побачить не просто деяке число, а число, супровід пояснювальний текст.

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

Розглянемо відповідну ER-діаграму на малюнку №3.


Малюнок №3.


У цьому прикладі теж присутні пов'язані таблиці. Розглянемо таблиці student, mark_st і exam_st.

Таблиця mark_st пов'язана з таблицею exam_st по полю id_ex.

Таблиця mark_st пов'язана з таблицею student по полю id_st.

Припустимо, потрібно роздрукувати список студентів з оцінками, які вони отримали на іспитах. Для цього необхідно виконати наступний запит: student.surname, mark_st.id_ex, mark_st.mark

FROM student, mark_ststudent.id_st=mark_st.id_st

Відзначимо наступні зміни в порівнянні з запитами до однієї таблиці.

У секції FROM вказані дві таблиці.

Так як таблиць стало більше однієї, з'явилася деяка неоднозначність при згадці полів. Так, у багатьох випадках невідомо, з якої таблиці зі списку FROM брати поле. Для усунення неоднозначності імена полів вказуються з префіксом - ім'ям таблиці. Ім'я таблиці від імені поля відокремлюється крапкою.

У пропозиції WHERE вказано умова з'єднання таблиць.

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

SELECT E.surname, M.id_ex, M.markstudent E, mark_st ME.id_st=M. id_st


ВИКОРИСТАННЯ SQL ДЛЯ ВСТАВКИ, редагування та видалення даних в таблицю


Для додавання даних в таблицю в стандарті SQL передбачена команда INSERT. Розглянемо ряд прикладів запросов.INTO mark_st (1, 2, 5)

Даний запит вставляє в таблицю mark_st рядок, що містить значення, перераховані в списку VALUES. Якщо не потрібно вказувати значення якогось поля, можна присвоїти йому NULL:

INSERT INTO mark (1, 2, NULL)

У разі якщо необхідно використання для деяких полів значень за замовчуванням, SQL дозволяє явно вказати, які поля необхідно заповнити конкретними даними, а які - значеннями за замовчуванням:

INSERT INTO ...


Назад | сторінка 3 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Структура команди мови запитів SQL. Простий запит. Багатотабличного запит
  • Реферат на тему: Зведення і групування статистичних матеріалів. Статистичні таблиці
  • Реферат на тему: Комп'ютерна обробка даних таблиці Microsoft Office Access
  • Реферат на тему: Базові поняття реляційної моделі даних (створення таблиці MS Access)
  • Реферат на тему: Побудова графіків функцій засобами електронної таблиці Excel