次のように、2 つの SQL データベース / リレーショナル スキーマがあります。
Employee(eid, name, office)
Manager(eid, mid)
以下の情報をSQLで取得したいと考えています。また、同等の関係代数が何であるかを知りたいです
- マネージャーが 2 人以上いる全従業員
- マネージャーなしの全従業員
- Alice という名前の従業員がいるすべてのマネージャーのオフィス。
次のように、2 つの SQL データベース / リレーショナル スキーマがあります。
Employee(eid, name, office)
Manager(eid, mid)
以下の情報をSQLで取得したいと考えています。また、同等の関係代数が何であるかを知りたいです
eid が Employee の主キーであると仮定しています。
SELECT e.eid
FROM Employee e INNER JOIN Manager m ON e.eid = m.eid
GROUP BY e.eid
HAVING COUNT(*) >= 2
SELECT *
FROM Employee e
WHERE NOT e.eid IN (SELECT eid FROM Manager)
SELECT e2.office
FROM Employee e
INNER JOIN Manager m ON e.eid = m.eid
INNER JOIN Employee e2 ON m.mid = e.eid
WHERE e.name = 'Alice'
GROUP BY e2.office