5

リレーショナル代数でSQLの「存在しない」句をどのように表現しますか?

4

3 に答える 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 に答える