-1

次のように、2 つの SQL データベース / リレーショナル スキーマがあります。

Employee(eid, name, office)
Manager(eid, mid)

以下の情報をSQLで取得したいと考えています。また、同等の関係代数が何であるかを知りたいです

  • マネージャーが 2 人以上いる全従業員
  • マネージャーなしの全従業員
  • Alice という名前の従業員がいるすべてのマネージャーのオフィス。
4

1 に答える 1

1

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
于 2013-05-02T00:05:04.360 に答える