MySQL запрос из двух таблиц
Надеюсь эту картинку вы знаете?



Допустим, таблица A это SELECT * FROM games, а таблица B это SELECT * FROM uploaded_games WHERE user_id = ?.

Т.е. вам нужно из таблицы A вычесть таблицу B (в терминах теории множеств). На картинке это левый столбец, второй сверху.

SELECT *
FROM games as A
LEFT JOIN uploaded_games as B ON (A.game_id = B.game_id)
WHERE B.game_id is NULL AND B.user_id = ?


Можно записать более наглядно, но, скорее всего, MySQL его не соптимизирует эффективно

SELECT *
FROM games
WHERE game_id NOT IN (
  SELECT game_id FROM uploaded_games WHERE user_id = ?
)

Не совсем корректный вопрос, при чем тут user_id, если требуется выбрать из таблицы games только те игры, которых нет в таблице uploaded_games?

SELECT * FROM games g
LEFT JOIN uploaded_games ug ON g.id=ug.game_id
WHERE ug.game_id IS NULL
