0

2つのSQLテーブルStudentClass

Student表では、フィールドは次のとおりです。studentNo, studentName, classNo

表ではClass、フィールドはclassNo, className, teacherName

私がやろうとしているのは、historyクラスにいるすべての生徒を一覧表示するクエリを作成することです。

これが私の質問です:

SELECT studentName
FROM Student s, Class c
WHERE s.classNo = c.classNo AND
   c.className = ‘history’;

しかし、私は上記のクエリについて100%確信していません。そして私はおそらく次のものが上記のものよりもうまくいくと思っています:

SELECT studentName
FROM Student s, Class c
WHERE c.className = ‘history’ AND
   s.classNo = c.classNo;

誰かがこの問題に対する正しいクエリを見つけるのを手伝ってもらえますか?ありがとうございました

4

2 に答える 2

2

ANSI SQL_92現在のクエリは問題ないように見えますが、フォーマットに変換する場合は注意してください(より明確で、クロスジョインにつながらない場合があります)。

SELECT studentName
FROM Student s INNER JOIN Class c
       ON s.classNo = c.classNo
WHERE  c.className = 'history';

2つを交換しても違いはありません。数学では、commutative法律は次のように述べていA + B = B + Aます。

于 2012-10-09T00:03:14.410 に答える
0

選択する

学生の名前

FROM Student St JOIN Class c ON St.classNo = c.classNo WHERE c.className ='history'

于 2012-10-10T12:25:11.990 に答える