Как проверить в sqlite3, что при использовании оператора NOT IN список не пустой
У меня есть часть кода, в которой я проверяю, что id события нет в другой таблице
(events.id NOT IN (SELECT id_event FROM watched_events WHERE id_user = ?)
Однако подзапрос SELECT id_event FROM watched_events WHERE id_user = ?
может возвращать пустой список, и весь запрос будет возвращать None.
Вот как выглядит весь запрос
SELECT id, name, type, description, longitude, latitude, time,
members_all, members_on_event
FROM events,users, watched_events
WHERE (users.id_user = ?) AND
(events.id NOT IN (SELECT id_event FROM watched_events WHERE id_user = ?)) AND
(6371000*2*asin(sqrt(pow(sin(rad((latitude-abs(user_latitude))/2)), 2) +
cos(rad(latitude))*cos(rad(abs(user_latitude)))*
pow(sin(rad((longitude-user_longitude)/2)), 2))) < ?)
Подскажите, пожалуйста, как проверить правильно, пустой ли лист.
Источник: Stack Overflow на русском