Упражнение 27
Упражнение 27
Найдите средний размер диска ПК каждого из тех производителей, которые выпускают и принтеры.
Вывести: maker, средний размер HD.
Вывести: maker, средний размер HD.
Проследите за ходом решения задачи и найдите ошибки.
- Определим всех производителей, которые выпускают принтеры.
SELECT Product.maker
FROM Product
INNER JOIN Printer ON Product.model = Printer.model
GROUP BY Product.maker;
mssql
🚫
[[ error ]]
[[ column ]] |
---|
[[ value ]] |
- Выведем для каждого ПК размер жесткого диска и его производителя.
SELECT PC.hd, Product.maker
FROM PC
INNER JOIN Product ON PC.model = Product.model;
mssql
🚫
[[ error ]]
[[ column ]] |
---|
[[ value ]] |
- Ограничимся в пункте 2 только теми строками, которые имеют производителя, найденного в пункте 1.
SELECT PC.hd, Product.maker
FROM PC
INNER JOIN Product ON PC.model = Product.model
WHERE Product.maker IN (SELECT Product1.maker
FROM Product Product1
INNER JOIN Printer ON Product1.model = Printer.model
GROUP BY Product1.maker
);
mssql
🚫
[[ error ]]
[[ column ]] |
---|
[[ value ]] |
- В окончательном решении получаем средние значения на основе запроса из пункта 3.
SELECT Result.maker, AVG(result.hd)
FROM (SELECT PC.hd, Product.maker
FROM PC
INNER JOIN Product ON PC.model = Product.model
WHERE Product.maker IN (SELECT Product1.maker
FROM Product Product1
INNER JOIN Printer ON Product1.model = Printer.model
GROUP BY Product1.maker
)
) AS result
GROUP BY result.maker;
mssql
🚫
[[ error ]]
[[ column ]] |
---|
[[ value ]] |