#sql #union
#sql #объединение
Вопрос:
Я пытаюсь решить этот вопрос, но как я могу получить информацию о лекторе, если я предполагаю, что я не знаю StaffID
?
Я попытался решить вопрос двумя подходами, один из которых предполагает, что я не знаю StaffID
, а другой предполагает, что я знаю StaffID
.
Вот вопрос: Перечислите подробные регистрационные записи для всех курсов, преподаваемых лектором Мусой.
Например, если мы знаем 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
Ответ №1:
То, что вы, вероятно, хотите, это JOIN (не объединение).
Кажется странным, что Лектор — это одновременно имя таблицы и имя столбца. Также опечатка 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'
Ответ №2:
Это базовый JOIN
запрос:
SELECT r.*
FROM registration r JOIN
Lecturer L
ON r.StaffID = l.StaffID
WHERE l.Lecturer = 'Musa';