2012年计算机二级VFP关系数据库标准语言SQL课后习题及答案

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  (2).连接问题

  在SQL 语句中,在FROM 子句中提供了一种称之为连接的子句,连接分为内部联接和外部联接,外部联接又可分为左联接、右联接和全联接。

  1). 内部联接

  内部联接是指包括符合条件的每个表的记录,也称之为全记录操作。而上面两个例子就是内连接。

  【例 】查询并显示各个学生的学号,所学课程及课程成绩。

  SELECT SC.学号,SC1.课程名,SC.成绩 ;

  FROM SC,SC1 ;

  WHERE SC.课程号=SC1.课程号

  如果采用内部联接方式,则命令如下:

  SELECT a.学号,b.课程名,成绩 ;

  FROM SC a INNER JOIN SC1 b ON a.课程号=b.课程号

  将会得到完全相同的结果。

  2). 外部联接

  外部联接是指把两个表分为左右两个表。右联接是指连接满足条件右侧表的全部记录。左联接是指连接满足条件左侧表的全部记录。全联接是指连接满足条件表的全部记录。

  (3).嵌套查询

  在SQL 语句中,一个SELECT-FROM-WHERE 语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE 子句中的查询称为嵌套查询。

  【例1】显示“李宁”所在班级的学生名单。

  SELECT 学号,姓名,班级名 ;

  FROM STUD ;

  WHERE 班级名=(SELECT 班级名 FROM STUD WHERE 姓名="李中国")

  【例2】显示计算机系男生的名单。

  SELECT 学号,姓名,系别代号,性别 ;

  FROM STUD ;

  WHERE 系别代号="01" AND 性别="男"

  【例3】显示计算机系非男生的名单。

  SELECT 学号,姓名,系别代号,性别 ;

  FROM STUD ;

  WHERE 系别代号="03" AND 性别="女"

  【例4】显示既选修了01 课程又选修了02 课程学生的名单。

  SELECT 学号 ;

  FROM SC ;

  WHERE 课程号=“01” AND 学号 IN ;

  (SELECT 学号 FROM SC WHERE 课程号=“02”)

  【例5】显示选修了01 课程而没有选修02 课程学生的名单。

  SELECT 学号 ;

  FROM SC ;

  WHERE 课程号="01" AND 学号 NOT IN ;

  ( SELECT 学号 FROM SC WHERE 课程号="02")

  (4).排序

  在SQL SELECT 中使用ORDER BY 短语对查询结果排序,并可以用ASC 按升序排序(默认),用DESC 按降序排序,可以按一列或多列排序。

  【例1】先按课程号排序、再按成绩排序检索出全部SC 表中的学生信息。

  SELECT * FROM SC ORDER BY 课程号 ASC,成绩 DESC

  例题:

  1.下列命令中,属于数据查询功能的SQL 语句是_____。

  A.CREATE B.SELECT

  C.INSERT D.GRANT

  [解析] 本题考查的知识点是SQL 中的数据查询命令。在Visual FoxPro 中,数据查询的命令动词是SELECT。CREATE 是数据定义命令之一;INSERT 是数据操纵命令之一;GRANT 是数据控制命令之一。

  本题选项A 用于数据定义。选项B 用于数据查询。选项C 用于数据操纵。选项D用于数据控制。

  [答案] B

  2.在Visual FoxPro 中,简单查询基于________。

  A.单个表

  B.两个表

  C.两个有关联的表

  D.多个表

  [解析] 本题考查的知识点是SQL 语句中的简单查询。简单查询基于单个表,可以有简单的查询条件。

  [答案] A

  3.从“学生资料”表中查询所有的姓名,应输入______命令。

  A.SELECT 学生资料 FROM 姓名

  B.SELECT 姓名 FROM 学生资料

  C.SELECT 姓名

  D.SELECT 学生资料 WHERE 姓名

  [解析]本题考查的知识点是简单查询的使用。简单查询由SELECT 和FROM 短语构成无条件查询,或由SELECT、FROM 和WHERE 短语构成条件查询。选项A 中的“学生资料”和“姓名”顺序颠倒;选项B 格式及命令都正确;选项C 格式错误;选项D 命令错误。

  [答案] B

  4.从“学生资料”表中查询所有年龄大于22 岁的学生并显示其姓名,应输入_______命令。

  A.SELECT 年龄 FROM 学生资料 WHERE 姓名>22

  B.SELECT 年龄 FROM 学生资料

  C.SELECT 姓名 FROM 学生资料 WHERE 年龄>22

  D.SELECT 姓名 FROM 学生资料

  [解析] 本题考查的知识点是简单查询命令的使用。本题由SELECT、FROMT WHERE 短语构成条件查询,其中WHERE 指定了查询条件。所以本题先排除B、D。选项A 中“姓名”和“年龄”顺序颠倒,输入该命令,系统会提示操作符与操作命令不匹配的对话框;选项C 中“SELECT 姓名”表示查询姓名, “FROM学生资料”指定从“学生资料”表中查询,WHERE 年龄>22 指定查询条件为22 岁。

  因此正确答案为C。

  [答案] C

  5.联接查询是基于_______的查询。

  A.一个表

  B.两个表

  C.多个关系

  D.有一个关联的表

  [解析]本题考查的知识点是联接查询。在Visual FoxPro 中,联接查询是一个基于多个关系的查询。由于联接查询要求的索引信息出于多个关系,因此这样的检索肯定是基于多个关系的。因此正确答案为C。

  [答案] C

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答