我正在尝试从第二个表上有外键的表中选择行,第二个表中的键在第三个表中用作外键。如何从第一个表中检索第三个表中没有第二个表中的键的行,该表的特定键的行将第一个表的行的主键作为外键,并且在第三个表上它还没有得到了第四张桌子的外键。
我尝试使用内部联接但它只适用于SELECTING行,它具有指定值而不是没有指定值。
请帮帮我
教师表
FaculID | FaculName | FaculLocation |
课程表
CourseID | CourseName | CourseDescription
FacultyCourse表
fcID | CourseID | FaculID
注册表
RegID | fcID | stuID
学生表
stuID | stuName | stuAge | stuAddress
所以基本上我现在要做的就是获得所有出价,其中e表没有得到uid并且做了(有出价外键)。
答案 0 :(得分:3)
尝试使用LEFT OUTER JOIN:
SELECT a.*
FROM a
LEFT OUTER JOIN b on a.keya = b.keybjoina
LEFT OUTER JOIN c on b.keybjoina = c.keycjoinb
WHERE c.keycjoinb IS NULL
答案 1 :(得分:0)
尝试:
(根据需要更改表名和列名)
根据示例布局更新
select *
from faculty
where faculid not in (select faculty.FaculID
from faculty
join facultycourse
on faculty.FaculID = FacultyCourse.FaculID
join registration
on registration.fcid = FacultyCourse.fcid
where registration.stuid = 'XYZ');