我试图解决这个问题,但如果我认为我不知道StaffID
,我怎样才能得到关于讲师的信息?
我尝试用两种方法解决问题,一种假设我不知道StaffID
,另一种假设我知道StaffID
。
这是一个问题:列出讲师Musa教授的所有课程的详细注册记录。
例如,如果我们知道StaffID
:
SELECT StaffID, Reg.NO, MatricNO, Code, Kulliyyah, Venue, Time, Day
FROM registration
WHERE StaffID = 401
或者,假设我们不了解StaffID
:
SELECT StaffID, Lecturer
FROM Lecturer
WHERE Lecturer = Musa
UNION
SELECT StaffID
FROM registration
WHERE registration .StuffID = Lecturer. StaffID
你可能想要的是加入(不是联盟)。
Lecturer既是表名又是列名,这似乎很奇怪。也错字StuffID
已添加别名,如R和L,以缩短资格。在讲师的名字周围添加了引号。
SELECT R.StaffID, Reg.NO, MatricNO, Code, Kulliyyah, Venue, Time, Day
FROM registration as R
LEFT JOIN Lecturer as L
ON R.StaffID = L.StaffID
Where L.Lecturer = 'Musa'
这是一个基本的JOIN
查询:
SELECT r.*
FROM registration r JOIN
Lecturer L
ON r.StaffID = l.StaffID
WHERE l.Lecturer = 'Musa';