Книги и статьи по SQL Rambler's Top100 Switch language to: English 14 июля 2020 г. 18:13:31


www.sql-ex.ru
Skip Navigation Links  

 

Print  Версия для печати

На главную страницу

Характерные ошибки при решении упражнений. Задача 18

Моисеенко С.И.

Найдите производителей самых дешевых цветных принтеров. Вывести: maker, price.

За последние дни получил несколько вопросов по этой задаче и решил написать FAQ .

Например, спрашивают, почему следующее решение не принимается системой проверки?

select product.maker, printer.price
   from product, printer
   where product.model = printer.model and
      printer.price =
      (select min( price)
          from printer
          where color = 'y')

Я отвечаю, что здесь нет проверки условия, что принтер является цветным. Однако не всем этого оказывается достаточно, поскольку получаю второй вопрос: а как же условие

printer.price =
(select min( price)
    from printer where color = 'y')

?

Последний предикат сравнивает цену КАЖДОГО принтера с минимальной ценой на цветные. Поэтому, если окажется, что НЕ цветной принтер (например, матричный) будет иметь цену, совпадающую с минимальной ценой на цветные принтеры, то он попадет в результаты выполнения запроса.

И не забудьте исключить дубликаты.

Приведенные здесь примеры можно выполнить непосредственно на сайте, установив флажок "Без проверки" на странице с упражнениями на SELECT.

Перейти к решению задачи #18

На главную страницу

Print  Версия для печати


Использование любых материалов данного сайта возможно только
при условии обязательного размещения прямой ссылки на сайт
http://www.sqlbooks.ru
на каждой странице, где размещены используемые материалы.

 Начало   Статьи    Книги 
Рейтинг@Mail.ru Rambler's Top100 Alt Упражнения по SQL: обучение, тестирование, сертификация по языку SQL Copyright c 2002-2006. All rights reserved.