Упражнение 13
Упражнение 13
Найдите среднюю скорость ПК, выпущенных производителем A
Решение 1.10.1. Характерная для начинающих ошибка, когда вновь изученные конструкции языка применяются к месту и ни к месту. Вот типичный пример:
SELECT AVG(speed) AS avg_speed
FROM PC
WHERE speed in (SELECT speed
FROM PC, Product
where product.model = PC.model
AND maker='A'
);
mssql
🚫
[[ error ]]
[[ column ]] |
---|
[[ value ]] |
Здесь в подзапросе предложения WHERE отбираются значения скорости процессора ПК, выпущенных производителем A. Далее вычисляется средняя скорость по всем тем ПК, скорость процессора у которых совпадает с одним из значений в списке, полученным из подзапроса. В результате будет учтена и скорость ПК, скажем, производителя B, если она совпадает со скоростью одного из ПК, выпущенного производителем A. Правильный результат будет получен только в том случае, если производители ПК обладают моделями с уникальными наборами скоростей процессора.