У меня есть таблица в SQlite, которую я использую для кэширования некоторых данных. Я полностью зациклен на написании SQL-запроса, который при получении списка строк x вернет подмножество y, которого нет в таблице. Я понимаю, что мог бы просто запросить один за другим и проверить пустой результат, но я хотел бы знать, есть ли способ сделать это, который возвращает хороший, аккуратный список строк, которые не были кэшированы (не в таблице). *
FWIW Я использую sqlite3 и Python. Запрос, который я получил до сих пор, похож на
select e from cache where cache.fk = x and e in (a, b, c);
, который близок, но дает поведение, противоположное тому, что я хочу (он возвращает значения, которые будут попадать в кэш).
Я также понимаю, что в этом случае немного неуместно использовать реляционную базу данных над хранилищем ключей / значений, но даже если бы мне пришлось отказаться, мне все еще интересно посмотреть, как это будет сделано.