Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_18 Головков И.Е. 12002108 УД

.docx
Скачиваний:
1
Добавлен:
26.06.2024
Размер:
173.75 Кб
Скачать

ФЕДЕРАЛЬНОЕ Государственное АВТОНОМНОЕ образовательное УЧРЕЖДЕНИЕ ВЫСШЕГО образования

«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ

ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»

(НИУ «БелГУ»)

ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ

Кафедра прикладной информатики и информационных технологий

Отчет по лабораторной работе № 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;