问题 单项选择题

下列各题中使用如下数据袁。
“学生”表:学号C(8),姓名C(8),性别C(2),系名(6)
“课程”表:课程编号C(4),课程名称C(12),开课系名C(10)
“成绩”表:学号C(8),课程编号C(4),成绩N(6,2)

查询所有选修了“计算机网络”的学生成绩,结果显示该学生的“姓名”、“系名”和“数据库原理”的“成绩”,并按成绩由高到低的顺序排列,下列语句中正确的是( )。

A.SELECT学生.姓名,学生.系名,成绩.成绩FROM学生,课程,成绩
FOR学生.学号=成绩.学号
AND课程.课程编号=成绩.课程编号
AND课程.课程名称="计算机网络"
ORDER BY成绩.成绩DESC

B.SELECT学生.姓名,学生.系名,成绩.成绩JOIN学生,课程,成绩
ON学生.学号=成绩.学号
ON课程.课程编号=成绩.课程编号
AND课程.课程名称="计算机网络"
ORDER BY成绩.成绩DESC

C.SELECT学生.姓名,学生.系名,成绩.成绩FROM学生,课程,成绩
WHERE学生.学号=成绩.学号
OR课程.课程编号=成绩.课程编号
OR课程.课程名称="计算机网络"
ORDER BY成绩.成绩DESC

D.SELECT学生.姓名,学生.系名,成绩.成绩FROM学生,课程,成绩
WHERE学生.学号=成绩.学号
AND课程.课程编号=成绩.课程编号
AND课程.课程名称="计算机网络"
ORDER BY成绩.成绩DESC

答案

参考答案:D

解析: 本题是一个多表连接查询的SQL语句,关键要注意表同连接条件的使用,如果使用超连接方式查询,则正确的语句格武为:
SELECT……
FROM<数据库表1>INNER JOIN<数据库表2>
ON<连接条件>
WHERE……
其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接,ON<连接条件>指定两个进行连接的条件字段。如果使用的是普通连接方式,则只需在FROM短语中指定查询的数据表,各表各之间用逗号隔开,而各表之间的连接放在WHERE短语后面,设计两个连接条件时,用AND短语连接这两个条件。

名词解释
单项选择题