Есть условия is_paying = 1 и is_active = 1. Как правильно интерпретировать фильтр NOT (is_paying = 1 AND is_active = 1)?
AОставляет строки, где истинно
is_paying = 1 AND is_active = 1, и исключает остальные комбинации флаговBОставляет строки, где истинно
NOT (is_paying = 1) AND NOT (is_active = 1), и исключает остальные комбинацииCИсключает строки, где оба условия истинны одновременно, и оставляет три остальные комбинации значений флагов
DОставляет строки, где истинно
is_paying = 1 OR is_active = 1, и исключает только полное отсутствие двух флаговПравильный ответ. Отрицание
AND исключает совместное выполнение, но не требует, чтобы оба условия были ложными.Разбор
Условие NOT (A AND B) означает «не верно, что A и B одновременно». Это включает три случая: A ложно и B истинно, A истинно и B ложно, A ложно и B ложно. Частая ошибка — заменить это на NOT A AND NOT B, что соответствует более строгому «ни одно из условий не выполнено». По закону де Моргана NOT (A AND B) = NOT A OR NOT B.
Проверь себя · 1/3разбор после ответа
Условие в фильтре записали как
NOT (NOT (is_test_user = 1)). Какое более простое условие ему эквивалентно?Ещё вопросы по теме «Булева логика и фильтры»
- Какому выражению со скобками эквивалентно условие `is_new = 1 OR is_paying = 1 AND has_coupon = 1`, если `AND` выполняется раньше `OR`?
- В фильтре написали `country = 'RU' AND device = 'ios' OR device = 'android'`. Какой набор строк реально пройдёт фильтр при стандартном приоритете, где `AND` сильнее `OR`?
- Какое условие эквивалентно `NOT (is_paying = 1 AND has_subscription = 1)` по правилу де Моргана? Выберите запись через `OR`.
- Вы хотите выбрать строки, которые не относятся к `country = 'RU' OR country = 'KZ'`. Какое выражение соответствует `NOT (country = 'RU' OR country = 'KZ')` по правилу де Моргана?
- В таблице пользователей есть флаги `has_email_optin` и `has_push_optin` (0 или 1). Нужно выбрать пользователей, у которых включён ровно один канал (email или push, но не оба). Какое условие корректно?
- Все вопросы по «Булева логика и фильтры» →