Задание 1
Найдите все записи таблицы Printer для цветных принтеров.
color = 'y'.maker = 'B'.EXISTS или самосоединение Product.speed >= 450.AVG(speed).GROUP BY + AVG(screen).Проверить по документации: извлечённый HTML-источник LMS для этого занятия содержит страницу авторизации, а не текст задания. Ниже оставлена учебная практика по схеме Product/PC/Laptop/Printer; перед выдачей студентам сверить с актуальным заданием в LMS.
Найдите все записи таблицы Printer для цветных принтеров.
Найдите номера моделей и цены всех имеющихся в продаже продуктов (любого типа) производителя B (латинская буква).
Найдите производителя, выпускающего ПК, но не ПК-блокноты.
Найдите производителей ПК с процессором не менее 450 МГц. Вывести: Maker.
Найдите среднюю скорость ПК.
Для каждого производителя, имеющего модели в таблице Laptop, найдите средний размер экрана выпускаемых им ПК-блокнотов. Вывести: maker, средний размер экрана.
В таблице Printer цветные принтеры помечены color = 'y'.
SELECT *
FROM Printer
WHERE color = 'y';
Соединяем Product с каждой из таблиц характеристик и объединяем результаты.
SELECT model, price
FROM Product
JOIN PC USING (model)
WHERE maker = 'B'
UNION
SELECT model, price
FROM Product
JOIN Laptop USING (model)
WHERE maker = 'B'
UNION
SELECT model, price
FROM Product
JOIN Printer USING (model)
WHERE maker = 'B';
Выбираем производителей ПК и исключаем тех, кто есть в ноутбуках.
SELECT DISTINCT maker
FROM Product
WHERE type = 'PC'
AND maker NOT IN (
SELECT maker
FROM Product
WHERE type = 'Laptop'
);
Соединяем Product и PC, фильтруем по скорости процессора.
SELECT DISTINCT maker
FROM Product
JOIN PC USING (model)
WHERE speed >= 450;
Агрегирующая функция AVG считает среднее.
SELECT AVG(speed) AS avg_speed
FROM PC;
Соединяем Product и Laptop, группируем по производителю и считаем средний экран.
SELECT maker, AVG(screen) AS avg_screen
FROM Product
JOIN Laptop USING (model)
GROUP BY maker;
DISTINCT проверьте отсутствие дублей.HAVING, если нужна фильтрация групп.