Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД SQL(засоби ман_пулювання даними.Трив_альн_ запити).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
62.24 Кб
Скачать

4. Вибірка з упорядкуванням

Для сортування даних, одержуваних за допомогою оператора SELECT служить ключове слово ORDER BY. За його допомогою можна сортувати результати по будь-якому стовпцю чи виразу, зазначеному в <списку_вибору>. Дані можуть бути упорядковані як по зростанню - ASC (ASCending), так і по убуванню -  DESC (DESCending), а за замовчуванням приймається ASC.

Синтаксис фрази упорядкування:

[ORDER BY <ім'я_стовпця> [ASC | DESC],... ]

Приклад. сортувати список авторів за алфавітом:

SELECT author FROM authors ORDER BY author;

При включенні в список ORDER BY кількох стовпців СУБД сортує рядки результату за значеннями першого стовпця списку поки не з'явиться кілька рядків з однаковими значеннями даних у цьому стовпці. Такі рядки сортуються за значеннями наступного стовпця зі списку ORDER BY і т.д.

Крім того, у список ORDER BY можна включати не тільки ім'я стовпця, а його порядкову позицію в переліку SELECT. Завдяки цьому можливо упорядкування результатів на основі стовпців, що обчислюються, що не мають імен.

5. Запити з обчисленням. Обчислення у межах Select

Із синтаксису фрази SELECT (п.5.1) видно, що в ній може міститися не тільки перелік стовпців таблиці чи символ *, але і вирази.

            Синтаксис виразів має вигляд

( {[ [+] | - ] {значення | функція_СУБД} [ + | - | * | ** ]}... )

Синтаксис SQL_функцій  -  одна з наступних конструкцій:

{SUM|AVG|MIN|MAX|COUNT} ( [[ALL]|DISTINCT][таблиця.]стовпець )

 {SUM|AVG|MIN|MAX|COUNT} ( [ALL] вирази )

 COUNT(*)

            Фраза SELECT може включати не тільки вирази, але й окремі числові чи текстові константи. Слід зазначити, що текстові константи повинні укладатися в апострофи (').

SQL дозволяє виконувати різні арифметичні операції над стовпцями результуючого відношення. У конструкції <список_вибору> можна використовувати константи, функції і їхньої комбінації з арифметичними операціями і дужками.

В арифметичних виразах допускаються операції додавання (+), вирахування (-), ділення (/), множення (*), а також різні функції (COS, SIN, ABS - абсолютне значення і т.д.).

У SQL також визначені так називані агрегатні функції, що здійснюють дії над сукупністю однакових полів у групі записів. Серед них:

  • AVG(<ім'я поля>) - середнє за всіма значеннями даного поля

  • COUNT(<ім'я поля>) чи COUNT (*) - число записів

  • MAX(<ім'я поля>) - максимальне з усіх значень даного поля

  • MIN(<ім'я поля>) - мінімальне з усіх значень даного поля

  • SUM(<ім'я поля>) - сума всіх значень даного поля

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

Якщо при завантаженні рядків таблиці в який-небудь з рядків, що вводяться, відсутнє значення для якого-небудь стовпця, то СУБД введе в таке поле NULL-значення. NULL-значення "придумане" для того, щоб представити єдиним образом "невідомі значення" для будь-яких типів даних. За допомогою спеціальної команди можна установити в СУБД один з режимів представлення NULL-значень при виконанні числових розрахунків: заборона чи дозвіл заміни NULL-значення нулем. У першому випадку будь-яке арифметичне вираження, що містить невизначений операнд, буде також мати невизначене значення. В другому випадку результат обчислень буде мати чисельне значення (якщо це значення потрапляє в діапазон представлення відповідного типу даних).

Приклад. Використання скалярних виразів і перейменувань колонок у запитах (ключове слово AS…):

SELECT

    TOVAR.TNAME,

    TOVAR.KOL,

    TOVAR.PRICE,

    "=" AS EQU,

    TOVAR.KOL*TOVAR.PRICE AS SUMMA

  FROM TOVAR;

У результаті одержимо таблицю з колонками, яких не було у вихідній таблиці TOVAR:

TNAME

KOL

PRICE

EQU

SUMMA

Болт

10

100

=

1000

Гайка

20

200

=

4000

Гвинт

30

300

=

9000