
- •1. Розвиток і загальна характеристика мови
- •2. Особливості та переваги мови sql
- •3. Групи команд мови sql
- •4. Мова sql — типи даних та функції
- •4.1 Типи даних sql
- •4.1.1 Символьні дані
- •4.1.2 Бітовий тип даних
- •4.1.3 Числові типи даних
- •4.1.4 Тип даних «дата/час»
- •4.2 Операції та агрегатні функції.
- •4.2.1. Реляційні операції
- •4.2.2. Булеві операції
- •4.2.3. Агрегатні функції
- •5. Мова sql - вибірка даних
- •5.1 Оператор select
- •5.1.1 Фраза from
- •5.1.2 Фраза where
- •5.1.3 Фраза group by
- •5.1.4 Фраза having
- •5.1.5 Фраза order by
- •5.2 Операція join — об’єднання таблиць
- •5.3 Вкладені підзапити
- •5.4 Операція union
- •5.5 Оператор select…into
- •Маніпулювання даними Оператор insert into
- •Insert into Students ( num, Surname, Name, Age, Speciality ) values (6, 'Куцик', 'Олександр', 18, 'Математика');
- •2 Оператор update
- •Оператор delete
- •Створення та знищення об’єктів бд
- •Створення бази даних
- •4.9.1 Оператор create table
- •4.9.2 Оператор alter table
- •Оператор drop
5.1.1 Фраза from
Фраза FROM міститься у операторі SELECT і є обов’язковою у випадку вибірки даних хоча б з однієї чи кількох таблиць. Дана фраза може бути опущена у вибірках результатів із деяких виразів чи функцій, наприклад SELECT 2+3;
Порядок таблиць у виразі не важливий — більшість сучасних СУБД проводять попередній аналіз та планування оптимізації виконання запиту.
Синтаксис:
FROM <ім’я таблиці> [, …];
Тут <ім’я таблиці> – назва таблиці, з якої потрібно вибрати записи.
Приклади.
Розглянемо таблицю Students (табл.1), яка складається з п’яти полів і п’яти записів: Num містить ідентифікаційні номери студентів; Surname - прізвища студентів; Name - імена студентів; Age - вік студентів; Speciality – спеціальність, на якій студент навчається.
Таблиця 1
Num |
Surname |
Name |
Age |
Speciality |
1 |
Крупик |
Віктор |
19 |
Інформатика |
2 |
Прапій |
Степан |
19 |
Інформатика |
3 |
Працків |
Оксана |
18 |
Інформатика |
4 |
Селань |
Віктор |
20 |
Математика |
5 |
Ятрів |
Олег |
17 |
Інформатика |
6 |
Петрів |
Назар |
20 |
|
Дана таблиця буде використовуватись при розгляді решти прикладів.
Приклад 1.
Вивести всі значення таблиці Students.
Запит матиме вигляд:
SELECT * FROM Students;
Результат – табл. 2
Таблиця 2
Num |
Surname |
Name |
Age |
Speciality |
1 |
Крупик |
Віктор |
19 |
Інформатика |
2 |
Прапій |
Степан |
19 |
Інформатика |
3 |
Працків |
Оксана |
18 |
Інформатика |
4 |
Селань |
Віктор |
20 |
Математика |
5 |
Ятрів |
Олег |
17 |
Інформатика |
6 |
Петрів |
Назар |
20 |
|
Приклад 2.
Інший варіант реалізації прикладу 1.
SELECT Num, Surname, Name, Age, Speciality FROM Students;
Даний запит також виводить усі значення таблиці Students (табл.1).
Результат – табл. 2
Приклад 3.
Вивести тільки значення поля Age (вік студентів), з новою назвою заголовка стовпця s_age.
Запит матиме вигляд:
SELECT Age AS s_age FROM Students;
Результат – табл. 3
Таблиця 3
s_age |
19 |
19 |
18 |
20 |
17 |
20 |
Для отримання переліку даних без повторень, використовують оператор DISTINCT.
Приклад 4.
Вивести якого віку є студенти у таблиці Students.
Запит матиме вигляд:
SELECT DISTINCT Age FROM Students;
Результатом дії будуть унікальні дані (табл. 5).
Таблиця 5
Age |
17 |
18 |
19 |
20 |
В команді SELECT можуть міститись не тільки імена стовпців таблиці чи таблиць, але і обчислювальні вирази.
Приклад 5.
Вивести прізвища студентіві їх вік у місяцях вважаючи, що у таблиці вказаний повний рік (12 місяців).
Запит матиме вигляд:
SELECT Surname, Age*12, ' місяців ' FROM Students;