最近は 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
上記のクエリの関係代数がどうなるか理解できませんか? 誰でもそれで私を助けることができますか?