
Лаб_18 Головков И.Е. 12002108 УД
.docxФЕДЕРАЛЬНОЕ Государственное АВТОНОМНОЕ образовательное УЧРЕЖДЕНИЕ ВЫСШЕГО образования
«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»
(НИУ «БелГУ»)
ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ
Кафедра прикладной информатики и информационных технологий
Отчет по лабораторной работе № 18
Тема работы «Язык SQL. Команда SELECT – выборка данных»
по дисциплине «Управление данными»
студента очного отделения
2 курса 12002108 группы
Головкова Игоря Евгеньевича
Проверил:
Ассистент кафедры прикладной информатики и информационных технологий Сухарев М. А.
БЕЛГОРОД, 2023
Цель работы:
1. Изучить правила использования команды SELECT в SQL.
2. Применить полученные знания для формирования запросов к базе данных.
Тема задания «Информация по комнатным растениям»
Логическая и физическая модели БД
Ход работы:
a. Простой оператор SELECT;
b. Запросы к нескольким таблицам БД.
SELECT * FROM families;
SELECT * FROM families;
c. Устранение дубликатов. Предложение DISTINCT.
SELECT DISTINCT family_id FROM plant_information;
d. Сортировка результирующего набора. Предложение ORDER BY.
SELECT * FROM families ORDER BY id;
e. Предложение WHERE; f. Предикаты сравнения.
SELECT * FROM families WHERE id IN (1,2,3);
SELECT * FROM families WHERE id <= 2;
g. Переименование столбцов и вычисления в результирующем наборе.
SELECT MAX(id) AS max_family_id FROM families;
h. Проверка наличия подстроки. Предикат LIKE.
SELECT * FROM families WHERE family_latin LIKE 'O%';
i. Агрегатные функции.
SELECT COUNT(*) FROM families;
j. Группировка записей. Предложение GROUP BY.
SELECT family_id, count(*) FROM plant_information GROUP BY family_id;
k. Фильтрация данных по итоговым показателям. Предложение HAVING.
SELECT family_id, count(*) FROM plant_information GROUP BY family_id HAVING count(*)>1;
l. Явные операции соединения.
SELECT plant_information.id AS id, name, name_latin, family, family_latin FROM plant_information LEFT JOIN families ON plant_information.family_id = families.id;
m. Подзапросы.
SELECT *, (SELECT family FROM families WHERE family_id = families.id) AS family_name FROM plant_information;