-- Напишите запрос, который возвращает каналы, у которых 0 телепередач

Используйте NOT EXISTS для отбора каналов, у которых нет связанной передачи. Имена таблиц и полей ниже условные, поскольку схема в вопросе не приведена.

Короткий ответ

Что ответить на собеседовании

Используйте NOT EXISTS для отбора каналов, у которых нет связанной передачи. Имена таблиц и полей ниже условные, поскольку схема в вопросе не приведена.

Подробный разбор

Ответ с пояснениями

Используйте NOT EXISTS для отбора каналов, у которых нет связанной передачи. Имена таблиц и полей ниже условные, поскольку схема в вопросе не приведена.

SELECT c.*
FROM channels AS c
WHERE NOT EXISTS (
    SELECT 1
    FROM telecasts AS t
    WHERE t.channel_id = c.id
);

Альтернатива — LEFT JOIN с проверкой NULL по непустому идентификатору передачи. Индекс telecasts(channel_id) может ускорить проверку. NOT EXISTS не страдает от ловушки NULL, характерной для некоторых вариантов NOT IN.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее