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

Отчет пр 14

.docx
Скачиваний:
10
Добавлен:
24.01.2023
Размер:
24.34 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Кафедра безопасности информационных систем

ОТЧЁТ

по практической работе №14 на тему: «Создание запросов в SQL Developer»

по дисциплине «Управление данными»

Выполнил: студент группы ИСТ-114, Медведева С.Г

«__» ________ 2022 г. ___________/Медведева С.Г. /

Принял: Перевозник Ю.Я.

«__» ______ 2022 г. ___________/Ю.Я. Перевозник

Цель работы: научиться создавать запросы в Oracle SQL Developer – интегрированной среде разработки на языках SQL & PL/SQL

Задание 1:

  1. NULL <> 1

  2. NULL <> NULL

  3. NULL = NULL

  4. NULL IS NOT NULL

  5. NULL IS NULL

Выберите верные утверждения: 4, 5

  1. Написать запрос, выводящий список сотрудников организации, упорядоченный по ФИО.

SELECT *

FROM PERSONS

ORDER BY NAME ASC

  1. Написать запрос, выводящий список сотрудников организации, упорядоченный по дате рождения. Чтобы сначала вывелись самые молодые сотрудники.

SELECT *

FROM persons

ORDER BY birthdate DESC

  1. Вывести список филиалов.

SELECT f.filialname

FROM FILIAL f

  1. Вывести список блюд столовой, цена которых больше 80 рублей.

SELECT DISHNAME, PRICE

FROM CANTEENDISHES

WHERE PRICE > ‘80’

  1. Вывести список сотрудников, работающих в филиале 1 или 2.

SELECT *

FROM PERSONS

WHERE FILIAILID <= ’2’

  1. Вывести список сотрудников, работающих в первом филиале, родившихся не ранее 01.01.1980.

SELECT NAME, FILIALID

FROM PERSONS

WHERE FILIALID = ‘1’ AND DATABIRTHDAY > ’01.01.1980’

  1. Вывести список сотрудников, фамилия которых начинается на букву «И».

SELECT *

FROM PERSONS

WHERE NAME LIKE ‘И%’

  1. Вывести список блюд столовой, цена которых в диапазоне от 70 до 100 рублей. Результат упорядочить по цене, по убыванию.

SELECT *

FROM CANTEENDISHES

WHERE PRICE BETWEEN ‘70’ AND ‘100’

ORDER BY PRICE DESC

  1. Вывести список блюд столовой, которые готовятся в собственной столовой организации, а не закупаются. У таких строчек указан повар (в столбце CookID присутствует идентификатор повара). Результат отсортировать по наименованию блюда.

SELECT *

FROM CANTEENDISHES

WHERE COOKID IS NOT NULL

ORDER BY DISHNAME

Задание 2:

1. Вывести ФИО сотрудников и названия филиалов, в которых они работают.

SELECT PERSONS.NAME,

FILIAL.FILIALNAME

FROM PERSONS

LEFT JOIN FILIAL

ON FILIAL.FILIALID = PERSONS.DEPARTAMENTID

2. Написать запрос, выводящий сотрудников из московского филиала (тех, кто работает в Москве) и их автомобили. Если у сотрудника нет авто, то он тоже должен быть в отчете.

SELECT PERSONS.NAME,

FILIAL.FILIALNAME, personcars.carname

FROM PERSONS

LEFT JOIN FILIAL

ON FILIAL.FILIALID = PERSONS.DEPARTAMENTID

LEFT JOIN personcars

ON personcars.personid = PERSONS.personid

WHERE filial.filialname = 'Москва'

3. Вывести список блюд столовой с именами поваров, которые их готовят.

SELECT c.dishname, p.name

FROM canteendishes c

INNER JOIN persons p

ON p.personid = c.cookid

4. Вывести сотрудников, не имеющих ни одного авто. Результат упорядочить по ФИО сотрудника.

SELECT p.name

FROM persons p

LEFT JOIN personcars pc

ON p.personid = pc.personid

WHERE pc.personid IS NULL

ORDER BY p.name

ВЫВОД

Научилась создавать запросы в Oracle SQL Developer – интегрированной среде разработки на языках SQL & PL/SQL.

Санкт-Петербург

2022

Соседние файлы в предмете Управление данными