-2

リレーショナル代数を使用して次のクエリを作成しようとしています。

"Find the names of sailors who reserved a red or a green boat"

これが私の解決策です: ここに画像の説明を入力

しかし、本は次の解決策を提供します: ここに画像の説明を入力

そして本によって与えられた別の同等の解決策: ここに画像の説明を入力

関連するテーブルは次のとおりです。 ここに画像の説明を入力

私の質問は、選択演算子で「または」記号 (V) を使用できないかということです。私の解決策は間違っていますか?なぜ名前変更演算子が必要なのですか?

ありがとう

4

2 に答える 2

1

私はphpmyadminでこのコードをテストしましたが、うまくいくはずです

ボートがすでに作成されている間に、予約するすべての船員を選択します。

SELECT * FROM sailors INNER JOIN reserves ON reserves.sid = sailors.sid LEFT JOIN boats ON reserves.bid = boats.bid

特定の選択 (色: 赤);

WHERE color = 'red' を使用

SELECT * FROM sailors INNER JOIN reserves ON reserves.sid = sailors.sid LEFT JOIN boats ON reserves.bid = boats.bid WHERE color = 'red'

マルチセレクション(色:赤と青);

WHERE color = 'red'または'blue'を使用

SELECT * FROM sailors INNER JOIN reserves ON reserves.sid = sailors.sid LEFT JOIN boats ON reserves.bid = boats.bid WHERE color = 'red' or 'blue'
于 2013-04-06T13:26:08.690 に答える