例如,我有 4 个表,都带有用户 ID(可以多次引用。所以例如我可以有:
Cars
id, ..., userID // userID = owner of the car
Garages
id, ..., userID // userID = owner of the garage
Tools
id, ..., userID // userID = owner of the tool
现在我想做一个查询来删除用户,但我只想在他们所有相关数据都消失的情况下删除用户。换句话说,我想确保没有引用数据(假设我不允许 userID = -1 或 null。它必须分配给用户
我能看到进行检查的唯一方法是:
SELECT count(*) FROM Cars WHERE USERID = userID
SELECT count(*) FROM Garages WHERE USERID = userID
SELECT count(*) FROM Tools WHERE USERID = userID
我必须检查是否有任何结果大于 0。有没有办法在一个 SQL SELECT 查询中跨 N 个表进行检查?