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

3сем / лаб пдф / ЛР8_ИТиП

.pdf
Скачиваний:
0
Добавлен:
04.04.2026
Размер:
545.81 Кб
Скачать

ИТиП // 2 семестр ЛАБОРАТОРНАЯ РАБОТА № 8 SQL – запросы

Цель работы: изучить принципы создания простых и сложных SQL-запросов для управления данными.

Теоретическая часть

Для конкатенации строк используется оператор "+". Если операнды являются числовыми, то выполняется операция сложения, а если - строковыми, то конкатенация:

SELECT CONCAT(поле1, поле2...) FROM имя_таблицы WHERE условие

У функции CONCAT может быть произвольное число аргументов, но не менее двух.

SELECT 1+2+3+4 a, '1'+'2'+'3'+'4' b;

Функция UPPER переводит строку в верхний регистр (то есть из маленьких букв делает большие).

Команда AS задает новое имя полям или таблицам при выборке из базы (то есть в самой базе изменения не происходят).

Функция LPAD дополняет строку до нужного размера добавляя заданные символы в начало строки:

SELECT LPAD(поле, новый_размер_поля, чем_дополнить) FROM имя_таблицы WHERE условие

Функция RPAD выполняет тоже самое, только удлинение происходит с правой стороны.

Функция LEFT возвращает len первых символов из строки str, а функция RIGHT столько же последних:

SELECT LEFT ('Москва', 3); Результат: Мос

SELECT RIGHT ('Москва', 3); Результат: ква

CAST — это встроенная функция, которая используется для преобразования выражения из одного типа данных в другой тип данных:

CAST (выражение AS type [(length)])

Функция ROUND используется для округления дробей до нужного знака в дробной части. Округление до целого:

1

SELECT ROUND(поле) FROM имя_таблицы WHERE условие

Округление до определенного знака в дробной части:

SELECT ROUND(поле, сколько_знаков_оставить) FROM имя_таблицы WHERE условие

Функция CURRENT_DATE возвращает текущую дату в формате год-месяц-день. Команда INTERVAL позволяет прибавлять к дате и отнимать от нее определенные

промежутки времени. После команды INTERVAL можно указывать определенную часть даты (день, месяц или год и т.п.), к примеру, так interval 1 day или interval 3 month, или сразу несколько частей. В этом случае значения даты берутся в кавычки, пример: давайте прибавим 1 год и 3 месяца - это будет выглядеть так: interval '1-3' year_month.

Задание

База данных «Университет» содержит информацию о студентах, обучающихся в нескольких учебных заведениях, которые находятся в разных городах, преподавателях, преподаваемых дисциплинах и экзаменационных данных (рисунок 1). База данных состоит из 6 таблиц.

Таблица 1 - Студенты

Таблица 2 - Преподаватели

Таблица 3 – Дисциплины, закрепленные за преподавателями

2

Таблица 4 - Учебные дисциплины

Таблица 5 - Университеты

Таблица 6 – Экзаменационные данные

Рисунок 1 – Логическая схема базы данных

1. Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала один столбец, содержащий последовательность разделенных символом ;

3

(точка с запятой) значений всех столбцов этой таблицы, и при этом текстовые значения должны отображаться прописными символами (верхний регистр), то есть быть представленными в следующем виде:

10;КУЗНЕЦОВ;БОРИС;14000;2;БРЯНСК;8/12/1981;10.

2.Вам необходимо создать для каждого преподавателя идентификатор, который должен выглядеть как 3 первые символа имени плюс два первых символа фамилии. Все символы этого идентификатора должны быть представлены в верхнем регистре. Напишите запрос, который возвращал бы из таблицы информацию об имени и фамилии преподавателя, а также его идентификатор.

3.Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала всего один столбец в следующем виде:

б.кузнецов; место жительства - Брянск; родился: 8-дек-2003.

4.Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала всего один столбец в следующем виде: Борис Кузнецов родился в 2003 году.

5.Составьте запрос, выводящий таблицу SUBJECT в таком виде: столбец SUBJ_ID нужно привести к единому виду – 4 символа, впереди символ(ы) «0», столбец SUBJ NAME нужно обрезать до 15 символов.

6.Вывести все университеты и их рейтинг, округленный до сотен.

7*. Вывести текущую дату, последний день августа, количество месяцев, прошедших с празднования праздника 9 Мая, число следующей пятницы.

Содержание отчета

Отчет по работе должен содержать титульный лист, цель, задания, запросы, скрины выполненных заданий, вывод.

Список источников

1.SQL-запросы: основные команды для управления базами данных https://practicum.yandex.ru/blog/sql-zaprosy-dlya-upravleniya-bazami-dannyh/

2.Таблицы в SQL: типы и операции https://practicum.yandex.ru/blog/tablicy-v-sql/

4

Соседние файлы в папке лаб пдф