这些天我正在研究 SQL 和关系代数。我被困在以下问题上。我可以为以下问题制作 SQL,但不知何故,我制作的关系代数看起来不正确。
下面是我的表-
Employee (
EmployeeId
, EmployeeName, EmployeeCountry)
Training (
TrainingCode
, TrainingName, TrainingType, TrainingInstructor)
Outcome
(
EmployeeId, TrainingCode
, Grade)
所有的键都用星 * 指定。
以下是问题及其 SQL 查询,它们也可以正常工作-
查找参加过所有培训的员工的 ID。
SQL查询:
SELECT X.EmployeeID
FROM (SELECT EmployeeID, COUNT(*) AS NumClassesTaken
FROM OutCome GROUP BY EmployeeID )
AS X
JOIN (SELECT COUNT(*) AS ClassesAvailable
FROM Training)
AS Y
ON X.NumClassesTaken = Y.ClassesAvailable
我无法理解上述查询的关系代数是什么?任何人都可以帮助我吗?