2017-02-12 9 views
1

私はデータベースシステム概念の書籍をHenry Korthによって読んでいます。空の関係テストの本から正確に以下を試しました。空の関係をテスト中にコマンドが正しく終了しない

select course_id 
from section as S 
where semester = 'Fall' and year = 2009 and 
exists (select * 
     from section as T 
     where semester = 'Spring' and year = 2010 and 
     S.course_id = T.course_id); 

しかし、私はコマンドを2番目の行に正しく終了しませんでした。誰かが間違っていると説明することができますか?

+0

あなたはDBに対してステートメントを実行するために何を使用していますか?おそらくSQL \ * Plus?エラーメッセージは、エラーの場所(コードの行と正確な文字)を正確に示します。ほとんどの場合、それを使ってエラーがどこにあるかを正確に知ることができます。次に、ドキュメントを読むことができます。これは、あなたが本の多くの誤りを特定する方法です。 (ところで、ここで尋ねることも絶対にOKですが、エラーメッセージを読んで理解し、理解するためにドキュメントを読むことは非常に役に立ちます) – mathguy

答えて

1

ASはテーブルエイリアスでは使用できません。これはカラムエイリアス用です。

質問を書き換えてASを削除してください。

select course_id 
from section S 
where semester = 'Fall' and year = 2009 and 
exists (select * 
     from section T 
     where semester = 'Spring' and year = 2010 and 
     S.course_id = T.course_id); 
+0

なぜ彼らは本でそれを訂正しないのだろうか。でもありがとう。 –

関連する問題