リレーショナル代数でSQLの「存在しない」句をどのように表現しますか?
10403 次
3 に答える
3
于 2020-01-26T19:50:32.433 に答える
-1
存在記号(∃)を探していると思いますが、それを否定することができます(〜∃)。
コメントへの応答:関係代数のほとんどを覚えていませんが、それを突き刺そうとすると、σ∃σ(Y)(S)の線に沿って何かを推測します。または、おそらくπ∃π(Y)(S); そのための選択または投影が必要かどうかはよく覚えていません。
于 2010-09-17T18:52:34.493 に答える
-3
私の場合、クエリを書き直すことでこの問題を解決しました。
SELECT *
FROM contactperson
WHERE EXISTS(
SELECT *
FROM person
WHERE contactperson.personId = person.id)
に:
SELECT *
FROM contactperson
WHERE personId = (
SELECT id
FROM person
WHERE contactperson.personId = person.id)
これは同じ結果を返し、結合を使用してリレーショナル代数に書き直す方が簡単です。
于 2013-03-07T12:01:02.347 に答える