SQL クエリをタプル リレーショナル計算に変換しようとしていますが、NOT EXIST
行き詰まる原因があります。
SQL クエリ:
SELECT num FROM a a1, b b1
WHERE a1.num = b1.no AND a1.name = "Tim"
AND NOT EXIST
(SELECT * FROM a a2, b b2
WHERE a2.num = b2.no AND a2.name = "Tim"
AND b2.rating > b1.rating)
私はすでに始めました:
{ t: num | ∃a1 ∈ a ∃b1 ∈ b [ t(num) = a1(num) ∧ a1.name = "Tim" ∧ ¬∃a2 ∈ a ...
これは私が立ち往生しているところです。とNOT EXISTS
の両方からのものであることをどのように示すのですか? 私が書くと、これは二重にネストされたSQLクエリになり、上記のものではなくなります。a2
b2
¬∃a2 ∈ a ¬∃b2 ∈ b