以我的教师,科目和 instructor_subject 表为例。
instructors
-----------
1
2
subjects
--------
1
2
3
instructor_subject
--------------------------
instructor_id | subject_id
1 | 1
1 | 2
请注意,教练1有2个科目。现在我如何从枢轴表中选择教师1没有的科目(即教师1和科目3)。同时还能够从教师表和主题表中检索其他列。其他列是教师姓名,主题名称等。
答案 0 :(得分:1)
您可以使用cross join
获取instructors
和subjects
的所有组合,然后过滤掉不匹配的组合:
select i.*, s.*
from instructors i cross join
subjects s left join
instructor_subject si
on si.instructor_id = i.instructor_id and si.subject_id = s.subject_id
where si.instructor_id is null;