Характерные ошибки при решении задач на написание запросов на выборку (SELECT)База данных «Корабли»Упражнение 55 стр. 3 |
||
|
Решение 3.11.3 (с комментариями автора решения)
В этом решении в соответствии с условием задачи учтены все классы, включая те, которые не имеют кораблей в БД (последний запрос в объединении). По-видимому, допущенная здесь ошибка связана с попыткой отдельного учета головных кораблей (которые являются первыми кораблями в классе и, следовательно, имеют наименьший год спуска на воду) и классов, не имеющих головных кораблей в базе данных. Представим ситуацию, когда год спуска головного корабля неизвестен (NULL), но при этом он имеется в таблице Ships. Там же находится другой корабль аналогичного класса с известным годом спуска на воду. Тогда именно этот год должен по условию задачи фигурировать в выходном наборе. Данное же решение даст (первый запрос в объединении) NULL, в то время как корабль с нужным годом будет проигнорирован во втором запросе объединения в силу следующей фильтрации
Аналогичная ошибка содержится и в нижеследующем варианте, который предлагается проанализировать самостоятельно. Решение 3.11.4
|
||
| Купить дизельный погрузчик |
| Сервисная поддержка. Адреса дилеров в России. |
| vira-spb.ru |
| Интернет магазин дверей |
| Паркетное оборудование и материалы Интернет-магазин стальных дверей |
| doors-mos.ru |
| Mail.ru агент для htc |
| Бесплатный хостинг видео Поиск по каталогу, уточнение по цене |
| 1mobileagent.ru |


