Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL_Lektsii_original.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
241.66 Кб
Скачать

Операції та агрегатні функції.

При створенні запитів на мові SQL використовуються реляційні та булеві оператори, спеціальні оператори в умовах, а також агрегатні функції.

Реляційні операції – це математичні символи, які вказують на певний тип порівняння двох значень. SQL використовує наступні операції:

=

рівне;

>

більше ніж;

<

менше ніж;

>=

більше або рівне;

<=

менше або рівне;

<>

не дорівнює.

Ці операції мають стандартні значення для числових значень. Для символьних значень їх визначення залежить від формату перетворення ASCII або EBCDIC.

Основні булеві операції (NOT, AND, OR) також розпізнаються. Булеві вирази набувають значення істина або хибність.

Також SQL використовує спеціальні операції:

IN – визначає набір значень, в який дане значення може бути включене або ні (A IN (1, 2, 3, 4, 5); B IN (‘X’, ‘Y’, ‘Z’));

BETWEEN – визначає діапазон значень, куди дане значення може входити (A BETWEEN .1 AND .5; B BETWEEN ‘X’ AND ‘Z’));

LIKE – використовується тільки для даних символьних типів, де у значеннях шукає входження рядка; при використанні символ (_) заміщує будь-який символ, а (%) заміщує послідовність будь-яких символів (Text LIKE S_ – набуде істини, якщо значення поля Text починається з літери S, а другий символ є будь-яким одиночним; Text LIKE S% – набуде істини, якщо значення поля Text починається з літери S);

IS NULL – вказує на невизначене значення.

Агрегатні функції видають одиночне значення для всієї групи таблиць:

COUNT – видає кількість вибраних значень;

SUM – видає арифметичну суму вибраних значень;

AVG – видає середнє значення вибраних значень;

MAX – видає найбільше значення серед вибраних значень;

MIN – видає найменше значення серед вибраних значень.

Вибірка даних Оператор select

Оператор SELECT – дозволяє проводити вибірки даних з таблиць і перетворювати до потрібного вигляду отримані результати.. Синтаксис:

SELECT [ALL | DISTINCT | DISTINCTROW | TOP]{* | <ім’я таблиці>.* | [<ім’я таблиці>.]<назва поля> [AS <псевдонім>] [, …]} FROM <ім’я таблиці> [, …] [IN <ЗБД>] [WHERE …] [GROUP BY …] [HAVING …] [ORDER BY …];

ALL | DISTINCT | DISTINCTROW | TOP – предикати, які використовуються для обмеження числа записів, що повертаються. По замовчуванню використовується ALL (повертає усі значення), якщо предикати відсутні. DISTINCT – виключає записи, що містять значення, які повторюються у вибраних полях. DISTINCTROW – ігнорує дані, які ґрунтуються на записах, що цілком повторюються, а не окремих полів. Впливає на результат тоді, коли до запиту включені не всі поля з таблиці, що аналізуються. TOP n [PERCENT] – повертає певне число записів, що знаходяться на початку або в кінці діапазону описаного за допомогою ORDER BY. «*» – вибрані всі поля заданої таблиці або таблиць. <ім’я таблиці> – назва таблиці, з якої потрібно вибрати записи. <назва поля> – назва поля, з якого вибирають дані; якщо ж задано декілька полів, то дані вибираються у визначеному порядку. AS – задає назву заголовка стовпця у запиті. <псевдонім> – назва, що буде заголовком стовпця замість початкового. IN – оператор входження. <ЗБД> – ім’я БД, що містить таблиці, які вказані за допомогою FROM, якщо вони не знаходяться у поточній БД. Даний оператор SELECT не змінює дані у БД, де відбувається вибір. Кожен запит завершується символом крапка з комою.

Приклади. Розглянемо таблицю Students (табл. 1), яка складається з п’яти полів і п’яти записів: Num містить порядкові номери студентів; Surname - прізвища студентів; Name - імена студентів; Age - вік студентів; Speciality – спеціальність, на якій судент навчається.

Таблиця 1

Num

Surname

Name

Age

Speciality

1

Крупик

Віктор

19

Інформатика

2

Прапій

Степан

19

Інформатика

3

Працків

Оксана

18

Інформатика

4

Селань

Віктор

20

Математика

5

Ятрів

Олег

17

Інформатика

Дана таблиця буде використовуватись при розгляді решти прикладів.

Приклад 1.

SELECT * FROM Students;

Дана команда виводить усі значення (табл. 2.2) таблиці Students (табл. 2.1).

Таблиця 2

Num

Surname

Name

Age

Speciality

1

Крупик

Віктор

19

Інформатика

2

Прапій

Степан

19

Інформатика

3

Працків

Оксана

18

Інформатика

4

Селань

Віктор

20

Математика

5

Ятрів

Олег

17

Інформатика

Приклад 2.

SELECT Num, Surname, Name, Age, Speciality FROM Students;

Дана команда також виводить усі значення (табл. 3) таблиці Students (табл.1).

Таблиця 3

Num

Surname

Name

Age

Speciality

1

Крупик

Віктор

19

Інформатика

2

Прапій

Степан

19

Інформатика

3

Працків

Оксана

18

Інформатика

4

Селань

Віктор

20

Математика

5

Ятрів

Олег

17

Інформатика

Приклад 3.

SELECT Age AS s_age FROM Students;

Дана команда виведе тільки значення поля Age (вік студентів), з назвою заголовка стовпця s_age (табл. 4.).

Для отримання переліку даних без повторень, використовують оператор DISTINCT.

SELECT DISTINCT Age FROM Students;

Результатом (табл. 5) будуть унікальні дані. Розм. у 2-а стовпці

Таблиця 4

S_age

19

19

18

20

17

Таблиця 5

Age

17

18

19

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]