私はSQLの本を読んでいますが、私は下の画像に示すように、データベーススキーマに関連する例に固執しています。本の中で述べたように、以下のNATURAL JOIN SQLと組み合わせてWHERE句を使用しますか?
の例では、クエリを解決します
「彼らが教えるコースのタイトルと一緒にインストラクター の名前の一覧を表示します。」クエリができ、我々は、クエリに答えることを望むと仮定します次のように SQLで書かれた:
select name , title
from instructor natural join teaches , course
where teaches.course id = course.course id;
今本は
は「どこCLにそのteaches.courseのID に注意してくださいと述べていますこのフィールドは教示関係から来ているので、自然結合結果のコースIDフィールドを参照する。自然の中での属性を参照するために、インスタンスinstructor.nameまたはteaches.course IDの、オリジナルの関係名を含む属性名を使用することはできません:「
があること
BOLDで再びブック状態」結果に参加する。しかし、関係名なしで 名前やコースIDなどの属性名を使用することができます。 "
(上記のクエリを参照してください)それができない場合、著者はどのようにしてクエリを書くことができましたか?
teaches.course id = course.course id
ナチュラル・ジョイン属性「コース」を参照してくださいteaches.courseするにはどうすればよい、著者はそのあいまい彼arguments.Pleaseは私のビューの著者のポイントを説明し出すました。
SQL Serverは 'NATURAL JOIN'をサポートしていないため、そのデータベースに関する質問はできません。 –
質問は、SQLサーバーについてではなく、SQL言語に関する一般的な質問です。私はちょうど追加のタグとしてそれを使用しています。 –
'講師からの自然な参加が教える、コース'私は言うだろう:本を燃やす! '自然な結合 'は一般的に悪と見なされ、古いスタイルのカンマリスとの組み合わせでは認識できません。 – wildplasser