たとえば、4 つのテーブルがあり、すべて userID を持っています (これは複数回参照できます。たとえば、次のようにすることができます。
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 より大きいかどうかを確認する必要がある場所.1 つの SQL SELECT クエリで N テーブルにわたってこのチェックを行う方法はありますか?