Selección de claves primarias que no tienen claves foráneas en otra tabla
Para simplificar, tengo dos tablas relacionadas con una a muchas usando una clave externa, por ejemplo:
Users table:
id
name
Actions table:
id
user_id
Un usuario puede tener muchas acciones o no. Necesito una selección de SQL que devuelva los ID de los usuarios que no tengan un valor de ID de usuario en la tabla de acciones.
Users Table:
id name
1 John
2 Smith
3 Alice
Actions Table:
id user_id
1 3
2 1
Así que necesito una consulta de SQL que devuelva el ID de usuario 2 (Smith) porque los valores de clave externa no incluyen el ID 2
Probé el siguiente SQL, pero devuelve todos los identificadores de los usuarios:
SELECT users.id from users left join actions on actions.user_id is null