Представьте, вы аналитик в межзвёздной логистической компании «SQL Bootcamp». Система зафиксировала подозрительные перевозки: некоторые грузы ведут себя странно, и нужно проверить данные, чтобы не терять грузы и не искажать отчёты. Все данные по логистике база данных пишет в таблицу
shipments.Потенциальные аномалии данных, которые нужно обнаружить в рамках бизнес-логики компании:
➖ Груз без указанной станции отправления или прибытия;
➖ Рейс, где груз вылетает и прибывает на ту же станцию;
➖ Отрицательные значения веса или расхода топлива;
Таблица
shipments:id dep_station arr_station weight fuel
7001 Alpha-7 NULL 5.0 300
7002 Beta-9 Beta-9 2.1 450
7003 Gamma-5 Delta-1 8.3 -20
7004 Epsilon-3 Zeta-2 -1.5 100
Описание атрибутов:
id — уникальный номер перевозкиdep_station — станция отправленияarr_station — станция прибытияweight — вес грузаfuel — расход топливаКакой запрос найдёт все потенциальные аномалии данных в таблице shipments?
A)
SELECT * FROM shipments
WHERE dep_station IS NULL
OR arr_station IS NULL
OR weight < 0
OR fuel < 0;
B)
SELECT * FROM shipments
WHERE (dep_station IS NULL OR arr_station IS NULL)
OR (dep_station = arr_station)
OR (weight < 0 OR fuel < 0);
C)
SELECT * FROM shipments
WHERE (weight < 0 OR fuel < 0)
OR (COALESCE(dep_station,'') = '' OR COALESCE(arr_station,'') = '');
D)
SELECT * FROM shipments
WHERE dep_station = arr_station
OR dep_station IS NULL
OR arr_station IS NULL;
Пишите в комментариях свою версию, завтра опубликуем правильный вариант ❤️
📊 Simulative