0

我有两个 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';

如果将两者互换,则没有区别。在数学中,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 回答