Selecionando chaves primárias que não possuem chaves estrangeiras em outra tabela
Para simplificar, tenho duas tabelas relacionadas com um para muitos usando uma chave estrangeira, por exemplo:
Users table:
id
name
Actions table:
id
user_id
um usuário pode ter muitas ações ou não. Eu preciso de uma seleção de SQL que retorna ids de usuários que não têm um valor user_id na tabela de ações.
Users Table:
id name
1 John
2 Smith
3 Alice
Actions Table:
id user_id
1 3
2 1
Então, eu preciso de uma consulta SQL que retorna o ID do usuário 2 (Smith) porque os valores da chave estrangeira não incluem o id 2
Eu tentei o seguinte SQL, mas ele retorna todos os ids de usuários:
SELECT users.id from users left join actions on actions.user_id is null