私の目的は、LEFT OUTER JOIN が 4 番目のベン図を使用して意図していることを正確に実行することです: SQL ダイアグラム:
私のクエリはまったく値を返しません。実際には、Consultant_Memberships 内のすべてから、Consultant_Memberships_Lists 内に格納されているものを差し引いた値を返す必要があります。
理解を容易にするために、 SQL Fiddleを参照してください。
SELECT *
FROM consultant_memberships
LEFT OUTER JOIN consultant_memberships_list
ON consultant_memberships.`id` =
consultant_memberships_list.membership_id
WHERE consultant_memberships_list.consultant_id = $id
AND consultant_memberships_list.membership_id IS NULL
クエリは、デモンストレーション目的で ID として「5」を使用して、正しい行を選択しようとしています。