Если в сеансах есть еще один UID, чем в пользователях (очевидно, так не должно быть), то я ожидаю, что при запуске последнего выбора будет получен непустой набор результатов, но я не получу возвращенных строк- этот результат просто не имеет логического смысла для меня ...
select count(distinct(uid)) from users;
> 108736
select count(distinct(uid)) from sessions;
> 108737
select count(*) from sessions where uid not in (select uid from users);
> 0
и просто для полноты:
select count(*) from users where uid not in (select uid from sessions);
> 0
Я проверил на нули:
select count( * ) from sessions where uid is null;
> 0
select count( * ) from users where uid is null;
> 14
Схема определена в sqlalchemy и включает внешний ключ в таблицу сеансов:
uid = Column(Integer, ForeignKey('users.uid', use_alter=True, name='fk_uid'))
Эта схема представляет собой статический дамп для аналитических целей, поэтому вероятность возникновения проблем с параллелизмом отсутствует ...