loading..
Русский    English
19:26
листать

Упражнение 27

Найдите средний размер диска ПК каждого из тех производителей, которые выпускают и принтеры. Вывести: maker, средний размер HD.

Проследите за ходом решения задачи и найдите ошибки.

1. Определим всех производителей, которые выпускают принтеры.

Консоль
Выполнить
  1. SELECT Product.maker
  2. FROM Product INNER JOIN
  3.      Printer ON Product.model = Printer.model
  4. GROUP BY Product.maker;

2. Выведем для каждого ПК размер жесткого диска и его производителя.

Консоль
Выполнить
  1. SELECT PC.hd, Product.maker
  2. FROM PC INNER JOIN
  3.      Product ON PC.model = Product.model;

3. Ограничимся в пункте 2 только теми строками, которые имеют производителя, найденного в пункте 1.

Консоль
Выполнить
  1. SELECT PC.hd, Product.maker
  2. FROM PC INNER JOIN
  3.      Product ON PC.model = Product.model
  4. WHERE Product.maker IN (SELECT Product1.maker
  5.                         FROM Product Product1  INNER JOIN
  6.                              Printer ON Product1.model = Printer.model
  7.                         GROUP BY Product1.maker
  8.                         );

4. В окончательном решении получаем средние значения на основе запроса из пункта 3.

Консоль
Выполнить
  1. SELECT Result.maker, AVG(result.hd)
  2. FROM (SELECT PC.hd, Product.maker
  3.       FROM PC INNER JOIN
  4.            Product ON PC.model = Product.model
  5.       WHERE Product.maker IN (SELECT Product1.maker
  6.                               FROM Product Product1  INNER JOIN
  7.                                    Printer ON Product1.model = Printer.model
  8.                               GROUP BY Product1.maker
  9.                               )
  10.       ) AS result
  11. GROUP BY result.maker;

ПиР

Решить задачу на SQL-EX.RU

Bookmark and Share
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE Convert COUNT CROSS APPLY CTE DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX MIN MONTH MySQL NOT Больше тэгов
Учебник обновлялся
вчера
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100