Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
テーブル:
users (id, name) permissions (id, area_id, user_id)
area_id を持っていないすべてのユーザーを選択したい場合は、権限テーブルで 5 とします。
テーブル間で左結合を行い、関連する area_id を ON 句にチェックします (したがって、一致するレコードがない場合でもテーブルの左側の行が戻されます) が、WHERE 句のチェックでは一致するレコードがありませんでした。
SELECT a.* FROM users a LEFT OUTER JOIN permissions b ON a.id = b.user_id AND b.area_id = 5 WHERE b.id IS NULL