备考2013年计算机二级VFP指导:第五章关系数据库标准语言SQL_第5页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年5月20日
 (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
  6.SQL 语句中删除表的命令是____。
  A.DELETE TABLE
  B. DROP TABLE
  C. ALTER TABLE
  D. UPDATE TABLE
  [解析]本题考查的知识点是从数据库中删除表的SQL 命令。删除表的SQL 命令是DROP TABLE<表名>。DROP TABLE 命令将直接从磁盘上删除<表名>所对应的.dbf 文件。如果<表名>是数据库中的表并且该数据库又是当前数据库,则会从数据库中删除该表;否则即使从磁盘上删除了.dbf 文件,也不会将记录在数据库.dbc 文件中的信息删除。选项A 命令错误;选项B 命令正确;选项C 中的命令用来修改表结构;选项D 中的命令用来更新表。
  [答案] B
  7.使用SQL SELECT 可以将查询结果排序,排序的短语是_____。
  A.ORDER BY
  B.ORDER
  C.GROUP BY
  D.COUNT
  [解析] 本题考查的知识点是SQL 中的排序命令。使用SQL SELECT 排序的短语是ORDERBY。选项A 即是SQL SELECT 中用来排序的短语;选项B 命令语法错误;选项C 是进行分组计算查询的命令;选项D 是计算查询中的计数函数。
  [答案] A
  8.在Visual FoxPro 中,嵌套查询是基于____的查询。
  A.一个表
  B.多个表
  C.一个关系
  D.多个关系
  [解析] 本题考查的知识点是嵌套查询。在Visual FoxPro 中,嵌套查询是基于多个关系的查询。因此正确答案为D。
  [答案] D
  9. 嵌套查询命令中的IN 相当于____。
  A.等号=
  B.集合运算符∈
  C.加号 +
  D.减号 -
  [解析] 本题考查的知识点是嵌套查询命令中的参数。嵌套查询命令中的IN 相当于集合运算符∈ 。选项A,C,D 错误, 目的是迷惑考生。只有选项B 正确。
  [答案] B
  10.如果将“考生资料”表中的记录按年龄降序排列,应输入____命令。
  [解析]本题考查的知识点是SQL 语句中排序命令的使用。在Visual FoxPro 中,排序短语为ORDER BY。
  如果需要将结果按降序排列,只需加上DESC 即可。因此输入的命令为:
  SELECT * FROM 考生资料 ORDER BY 年龄 DESC
  [答案] SELECT * FROM 考生资料 ORDER BY 年龄 DESC
  11.SQL SELECT 语句中INNER JOIN 等价于____, 为____, 在Visual FoxPro 中称为_____。(p128)
  [解析] 本题考查的知识点是INNER JOIN 联接。在SQL SELECT 中,INNDR JOIN 等价于JOIN, 为普通的联接,在Visual FoxPro 中称为内部联接。
  [答案] JOIN,普通联接,内部联接
  12.在SQL 中,除满足联接条件的记录出现在查询结果中外,第一个表中满足联接条件的记录也出现在查询结果中。 这种联接为____,又称为____。
  [解析] 本题考查的知识点是左联接的概念,它是指除满足联接条件的记录出现在查询结果中外,第一个表中满足联接条件的记录也出现在查询结果中。
  [答案] LEFT JOIN 左联接
  13.在ORDER BY 子句中,DESC 表示____; 省略DESC 表示____。
  A.升序,降序
  B.降序,升序
  C.升序,升序
  D.降序,降序
  [解析] 本题考查的知识点是SQL SELECT 语句中ORDER BY 子句及其中选项的功能。OBDER BY 是用来排序的短语。指定DESC 表示降序,不指定(即省略)DESC 表示升序,或者升序也可以用ASC 来表示。
  选项A 中的两个选项正好相反。选项C 第一个空措误,应为降序;选项D 第二个空错误,应为升序。因此正确答案为B。
  [答案] B
  14. 按出生日期降序显示STUD 表中的学号,姓名,出生日期。
  SELECT 学号,姓名,出生日期 ;
  FROM STUD ;
  ORDER BY 出生日期 DESC
  15. 按成绩升序显示SC 表中的学号,课程号,成绩。
  SELECT 学号,课程号,成绩 ;
  FROM SC ;
  ORDER BY 成绩
  16.SQL 的操作功能是指____,主要包括数据的____、____、____三个方面的内容。
  [解析] 本题考查的知识点是SQL 的操作功能。在Visual FoxPro 中,SQL 的操作功能是指对数据库中数据的操作功能,主要包括数据的插入、更新和删除三个方面的内容。
  [答案] 对数据库中数据的操作功能,插入,更新,删除
  17.在SQL SELECT 语句中,字符串匹配运算符用____表示;____表示0 个或多个字符;____表示一个字符。
  [解析] 本题考查的知识点是SQL SELECT 语句中特殊运算符的LIKE 的应用。在SQL SELECT 语句中,字符串匹配运算符用LIKE 表示;通配符“%”表示0 个或多个字符, “_”表示一个字符。
  [答案] LIKE,%,_

相关文章