2017-06-14 7 views
-1

この関係代数の関係をSQLに変換するのを手伝ってもらえますか?ここでリレーショナル代数関係をSQL(INTERSECT)に変換しますか?

For a given X(A), Y(A) and T(A): 

X UNION (Y INTERSECTS T) 

は私の試みです:

SELECT * 
FROM (R UNION S) INTERSECT T; 

は、この正しいですか?これを行うための他の方法はありますか?

+1

いいえMySQLはINTERSECTをサポートしていません... INTERSECT関数をエミュレートすることができますhttps://www.google.nl/search?q=mysql+INTERSECT –

+0

本当にですか?私はそれを知らなかった。ありがとう –

+0

「RAをSQLに変換する」とはどういう意味ですか?同じ結果を返すクエリを記述しますか?並列形式の式を書く?どのようにあなたのクラスで "翻訳する"ように言われましたか? RAのどのバージョンを使用するように指示しましたか?あなたがSQL INTERSECTのためにグーグルで見つけたとき、あなたは何を見つけましたか? [ask]をお読みください。 PS私の答えを見てください。 – philipxy

答えて

0

標準SQLにはINTERSECTがあり、多くの製品もそうです。 MySQLはそうではありません。

(ただし、単一の「リレーショナル代数」はありませんが、通常は:)リレーショナル代数INTERSECTは、入力リレーションが同じ列を持つ場合に限定され、NATURAL JOINのように動作します。

明らかなSQLアナログはNATURAL JOINです。または、すべての列を使用して参加してください。または(INNER)JOIN ON同じ名前の列のすべてのペアが等しいかどうかを確認し、各ペアの1つをSELECTします。

関連する問題