From 56738ae134fb6ae6db2bedac3e2c562e3cad4086 Mon Sep 17 00:00:00 2001 From: Milanya Date: Mon, 25 May 2026 17:14:29 +0300 Subject: [PATCH] sql-queries: prac --- sql/task_01.sql | 4 ++++ sql/task_02.sql | 4 ++++ sql/task_03.sql | 4 ++++ sql/task_04.sql | 4 ++++ sql/task_05.sql | 4 ++++ sql/task_06.sql | 5 +++++ sql/task_07.sql | 13 +++++++++++++ sql/task_08.sql | 10 ++++++++++ sql/task_09.sql | 4 ++++ sql/task_10.sql | 4 ++++ 10 files changed, 56 insertions(+) create mode 100644 sql/task_01.sql create mode 100644 sql/task_02.sql create mode 100644 sql/task_03.sql create mode 100644 sql/task_04.sql create mode 100644 sql/task_05.sql create mode 100644 sql/task_06.sql create mode 100644 sql/task_07.sql create mode 100644 sql/task_08.sql create mode 100644 sql/task_09.sql create mode 100644 sql/task_10.sql diff --git a/sql/task_01.sql b/sql/task_01.sql new file mode 100644 index 0000000..9227ce6 --- /dev/null +++ b/sql/task_01.sql @@ -0,0 +1,4 @@ +-- Задача 01: вывести те пк, у которых цена < 500 +SELECT model, speed, hd +FROM PC +WHERE price < 500 diff --git a/sql/task_02.sql b/sql/task_02.sql new file mode 100644 index 0000000..e18068e --- /dev/null +++ b/sql/task_02.sql @@ -0,0 +1,4 @@ +-- Задача 02: вывести тех производ, которые производят принтеры +SELECT DISTINCT maker +FROM Product +WHERE type = 'Printer' diff --git a/sql/task_03.sql b/sql/task_03.sql new file mode 100644 index 0000000..b37261a --- /dev/null +++ b/sql/task_03.sql @@ -0,0 +1,4 @@ +-- Задача 03: вывести инфу о ноутах, у которых цена выше 1000 +SELECT model, ram, screen +FROM Laptop +WHERE price > 1000 diff --git a/sql/task_04.sql b/sql/task_04.sql new file mode 100644 index 0000000..0fec009 --- /dev/null +++ b/sql/task_04.sql @@ -0,0 +1,4 @@ +-- Задача 04: инфа о цветных принтерах +SELECT code, model, color, type, price +FROM Printer +WHERE color = 'y' diff --git a/sql/task_05.sql b/sql/task_05.sql new file mode 100644 index 0000000..ba2e7a0 --- /dev/null +++ b/sql/task_05.sql @@ -0,0 +1,4 @@ +-- Задача 05: несколько условий на пк +SELECT model, speed, hd +FROM PC +WHERE (cd = '12x' or cd = '24x') and price < 600 diff --git a/sql/task_06.sql b/sql/task_06.sql new file mode 100644 index 0000000..8b8d71a --- /dev/null +++ b/sql/task_06.sql @@ -0,0 +1,5 @@ +-- Задача 06: Для каждого производителя, выпускающего ноуты c опред объёмом жесткого диска. +SELECT DISTINCT maker, speed +FROM Product LEFT JOIN Laptop ON Laptop.model = Product.model +WHERE Laptop.hd >= 10 +order by maker, speed diff --git a/sql/task_07.sql b/sql/task_07.sql new file mode 100644 index 0000000..cfec472 --- /dev/null +++ b/sql/task_07.sql @@ -0,0 +1,13 @@ +-- Задача 07: тут нас интересовала продукция производителя В +SELECT PC.model, PC.price +FROM Product JOIN PC ON (Product.maker = 'B' and PC.model = Product.model) + +UNION + +SELECT Laptop.model, Laptop.price +FROM Product JOIN Laptop ON (Product.maker = 'B' and Laptop.model = Product.model) + +UNION + +SELECT Printer.model, Printer.price +FROM Product JOIN Printer ON (Product.maker = 'B' and Printer.model = Product.model) diff --git a/sql/task_08.sql b/sql/task_08.sql new file mode 100644 index 0000000..8b1e788 --- /dev/null +++ b/sql/task_08.sql @@ -0,0 +1,10 @@ +-- Задача 08: найти производителя, выпускающего ПК, но не ноутбуки. +SELECT maker +FROM Product +WHERE type = 'PC' + +EXCEPT + +SELECT maker +FROM Product +WHERE type = 'Laptop' diff --git a/sql/task_09.sql b/sql/task_09.sql new file mode 100644 index 0000000..73d4647 --- /dev/null +++ b/sql/task_09.sql @@ -0,0 +1,4 @@ +-- Задача 09: найти производителей ПК с процессором не менее 450 +SELECT DISTINCT Product.maker +FROM Product JOIN PC ON Product.model = PC.model +WHERE speed >= 450 diff --git a/sql/task_10.sql b/sql/task_10.sql new file mode 100644 index 0000000..73b070d --- /dev/null +++ b/sql/task_10.sql @@ -0,0 +1,4 @@ +-- Задача 10: найти модели принтеров, имеющих самую высокую цену +SELECT model, price +FROM Printer +WHERE price = (SELECT MAX(price) FROM Printer)