当前位置:文档之家› 2011年全国计算机等级考试二级VFP笔记(5)共6篇

2011年全国计算机等级考试二级VFP笔记(5)共6篇

2011年全国计算机等级考试二级VFP笔记(5).txt
第五章 关系数据库标准语言 SQL

大纲要求
关系数据库标准语言 SQL
1、 SQL的数据定义功能:
(1) CREATE TABLE –SQL
(2) ALTER TABLE –SQL
2、 SQL的数据修改功能:
(1) DELETE –SQL
(2) INSERT –SQL
(3) UPDATE –SQL
3、 SQL的数据查询功能:
(1) 简单查询。
(2) 嵌套查询。
(3) 连接查询。
内连接
外连接:左连接、右连接、完全连接
(4) 分组与计算查询。
(5) 集合的并运算。
知识要点
一. SQL 语言的特点
1.综合统一
SQL 语言集数据定义(DDL)、数据操纵(DML)、数据管理(DCL)的功能于一体,语言风格统一,可以独立完成数据库的全部操作,包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求,为数据库应用系统开发者提供了良好的环境。
2.高度非过程化
3.语言简洁,易学易用
4.以同一种语法结构提供两种使用方式既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。
二. SQL 语言的基本概念
SQL 语言支持关系型数据库的三级模式结构。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。基本表是本身独立存在的表,在SQL 语言中一个关系对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引存放在存储文件中。
存储文件的逻辑结构组成了关系型数据库的内模式。而存储文件的物理文件结构是任意的。视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库只存放在视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。考试大论坛
三. 数据定义
数据定义语言DDL 用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER 命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。
1. 定义(创建)表
【格式】:
CREATE TABLE <表名> (<字段名1><数据类型>;
[(<宽度>[,<小数位数>])][完整性约束];
[NULL | NOT NULL][,<字段名2>…])
【功能】定义(也称创建)一个表。
【例1】创建一个表SC(课程成绩表),它由以下字段组成:学号(C,10);课程号(C,2)。
CREAT

E TABLE SC(学号 C(10),课程号 C(2))
LIST STRUCTURE
【例2】创建一个表STUD(学生信息表),它由以下字段组成:学号 (C,10);姓名(C,8);性别(C,2);班级名(C,10);系别代号(C,2);地址(C,50);出生日期 (D);是否
团员 (L);备注 (M);照片(G)。
CREATE TABLE STUD(学号 C(10),姓名 C(10),性别 C(2),班级名 C(10),系别代号 C(2),地址C(50),出生日期 D,是否团员 L,备注 M,照片 G)LIST STRUCTURE
2. 修改表
【格式】
ALTER TABLE <表名>[ADD <新字段名><数据类型>[(<宽度>[,<小数位数>])][完整性约束][NULL | NOT NULL]][DROP [完整性约束]][MODIFY <字段名><数据类型>]
【功能】修改表结构。
【说明】ADD 子句用于增加指定表的字段变量名、数据类型、宽度和完整性约束条件;DROP子句用于删除指定的的完整性约束条件;MODIFY 子句用于修改原有的字段变量的值。
【例】在课程成绩表SC 中,增加一个成绩字段变量(N,3)。
ALTER TABLE SC ADD 成绩 N(3)
LIST STRUCTURE
3.删除数据库
【格式】DROP DATABASE <数据库名>
【功能】删除指定数据库的结构和数据。
【说明】谨慎使用。
4. 删除表
【格式】DROP TALBE <表名>
【功能】删除指定表的结构和内容(包括在此表上建立的索引)。
【说明】如果只是想删除一个表中的所有记录,则应使用DELETE 语句。
例题:
1.SQL是______语言。
A.结构化查询
B.数据定义
C.数据操作
D.数据控制
[解析] 本题考查的知识点是SQL语言的基础知识。在Visual FoxPro中,SQL是结构化查询语言。 选项B,C,D说法错误,在Visual FoxPro中有数据定义语言、数据操作语言、数据控制语言。
[答案] A
2.SQL除了具有数据查询的功能外,还有_____。
A. 数据定义
B.数据操纵
C. 数据控制
D.以上答案均正确
[ 解析] 本题考查的知识点是SQL语言的作用。在VisualFoxPro中,SQL的功能有四个:数据查询、数据定义、数据操纵、数据控制。因此正确答案为D。
[答案] D
3.下列选项中,不属于数据定义功能的SQL语句是__________。
A.CREATE
B.ALTER
C.SELECT
D.DROP
[解析] 本题考查的知识点是SQL命令动词的作用。选项A用来创建表;选项B用来修改表结构;选项C用来查询;选项D用来删除表文件。在Visual FoxPro中,选项A,B,D都具有数据定义功能,只有选项C具有数据查询的功能。
[答案] C
4.SQL的核心是__________。
A.数据查询
B.数据定


C.数据操纵
D.数据控制
[解析] 本题考查的知识点是SQL的核心。SQL作为结构化查询语言,其核心是查询。因此正确答案为A。
[答案] A
5.SQL同其他数据操作语言不同,其关键在于_____。
A.SQL是一种过程性语言
B.SQL是一种非过程性语言
C.SQL语言简练
D.SQL的词汇有限
[解析] 本题考查的知识点是SQL不同于其他语言的关键。SQL同其他数据操作语言不同的关键是SQL是一种非过程性语言。通过这一功能用户只需说明做什么,而不用说明怎么做,不用了解数据存储的格式及SQL命令的内部执行过程,就可以方便地对数据库进行操作。选项A的说法错误,选项C和D是SQL语言的特点,但不是SQL语言同其他数据操作语言不同的关键。
[答案] B
6.建立表结构的SQL命令是____。
A.ALTER TABLE
B.DROP TABLE
C.CREAT TABLE
D.CREAT INDEX
[解析] 本题考查的知识点是建立表结构的SQL命令。建立表结构的SQL命令是CREAT TABLE。ALTER TABLE命令的作用是修改表结构;DROP TABLE命令的作用是删除表;CREAT INDEX命令的作用是建立索引。
[答案] C
7.SQL可以_____使用,也可以_____使用。
[解析] 本题考查的知识点是SQL语言的使用方式。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。
[答案] 直接以命令方式交互,嵌入到程序设计语言中以程序方式
8.在ALTER TABLE中,_____用来添加新字段;_____修改已有字段。
[解析] 本题考查的知识点是ALTER TABLE命令及各子项的作用。在ALTER TABLE命令中,ADD用来添加新字段;ALTER用来修改已有字段。
[答案] ADD ALTER
四、数据操纵
数据操纵语言是完成数据操作的命令,一般分为两种类型的数据操纵,它们统称为DML:
● 数据查询:寻找所需的具体数据。
● 数据修改:添加、删除和改变数据。
数据操纵语言一般由INSERT(插入)、DELETE(删除)、UPDATE(更新),SELECT(查询)等组成,由于SELECT 比较特殊,所以一般又将它以查询语言单独出现。
1、 插入记录
【格式1】
INSERT INTO <表名> [<字段名表>] VALUES (<表达式表>)
【格式2】
INSERT INTO <表名> FROM ARRAY <数组名> | FROM MEMVAR
【功能】在指定的表文件尾部追加一条记录。格式1 用表达式表中的各表达式值赋值给<字段名表>中的相应的各字段。格式2 用数组或内存变量的值赋值给表文件中各字段。
【说明】如果某些字段名在INTO 子句中没有出现,则新记录在这些字段名上将取空

值(或默认值)。<字段名表>:指定表文件中的字段,缺省时,按表文件字段的顺序依次赋值。<表达式表>:指定要追加的记录各个字段的值。
【例1】在表文件STUD 的末尾追加三条记录。
***用表达式方式追加第一条记录***
INSERT INTO STUD (学号,姓名,性别,班级名,系别代号,地址,出生日期,是否团员) ;
VALUES("011110","李中国","男","计0121","01","湖北武汉",{^2005/01/06},.T.)
***用数组方式追加第二条记录***
DIMENSION TA[8]
TA(1)="011103"
TA(2)="李宁"
TA(3)="女"
TA(4)="电0134"
TA(5)="02"
TA(6)="北京赛迪网校"
TA(7)={^2005/01/15}
TA(8)=.T.
INSERT INTO STUD FROM ARRAY TA
***用内存变量方式追加第三条记录***
学号="011202"
姓名="赵娜"
性别="女"
班级名="英0112"
系别代号="03"
地址="广西南宁"
出生日期={^2002/12/14}
是否团员=.F.
INSERT INTO STUD FROM MEMVAR
LIST

2.更新记录命令
【格式】
UPDATE <表文件名> SET <字段名1>=<表达式>
[,<字段名2>=<表达式>…] [WHERE <条件>]
【功能】更新指定表文件中满足WHERE 条件子句的数据。其中SET 子句用于指定列和修改的值,WHERE 用于指定更新的行,如果省略WHERE 子句,则表示表中所有行。
【说明】更新操作又称为修改操作。
【例】将成绩表(SC)中,所有课程号为02 的成绩各加5 分。UPDATE SC SET 成绩=成绩+5 WHERE 课程号="k321"
3.删除记录
【格式】 DELETE FROM <表名> WHERE <表达式>
【功能】从指定的表中删除满足WHERE 子句条件的所有记录。如果在DELETE 语句中没有WHERE 子句,则该表中的所有记录都将被删除。
【说明】这里的删除是逻辑删除,即在删除的记录前加上一个删除标记“*”。
【例】删除STUD 表中所有性别为男的记录。
DELETE FROM STUD WHERE 性别=“男”
4. 数据管理
数据管理(也称数据控制)语言是用来管理(或控制)用户的访问权限的。而Visual FoxPro6.0没有这种权限管理。
例 题
1.下列关于INSERT—SQL 的叙述正确的是____。
A.在表尾插入一条记录
B.在表头插入一条记录
C.在表中任何位置插入一条记录
D.可以向表中插入若干记录
[解析] 本题考查的知识点是INSERT 命令的作用。INSERT—SQL 命令的作用是在表尾插入一条记录。选项B,C,D 的说法都错误,INSERT—SQL 命令不能完成B,C,D 指定的要求。
[答案] A
2.DELETE FROM 考生成绩 WHERE 成绩<90 语句的功能是____。
A.物理删除成绩在90 分以

下的记录
B.彻底删除成绩在90 分以下的记录
C.删除考生成绩表
D.为表中成绩小于90 分的记录添加删除标记
[解析] 本题考查的知识点是SQL 语句中DELETE 命令的使用。SQL 中的DELETE 命令用于逻辑删除记录,如果要物理删除记录,需要用PACK 命令。选项A 中的物理删除错误。选项B的彻底删除实际就是物理删除,所以错误。选项C 的说法有错误。选项D 的说法正确,因为SQL 中的DELETE 命令用于逻辑删除记录,FROM 用于指定从哪个表中删除记录,本题即从“考生成绩”表中删除;WHERE 用于指定被删除的记录所满足的条件,本题的条件是成绩在90 分以下的记录。
[答案] D
3.SQL 语句中,UPDATE 命令的功能是____。
A.数据更新
B.删除数据
C.建立表
D. 修改表
[解析] 本题考查的知识点是SQL 语句中UPDATE 命令的功能。在SQL 语句中,UPDATE 命令的功能是数据更新。删除数据的命令是DELETE。建立表的命令是CREATE TABLE。修改表结构的命令ALTER TABLE。
[答案] A
4.SQL 语言中,删除表命令是____。
A.DELETE
B.DELETE TABLE
C.DROP
D.DROP TABLE
[解析]本题考查的知识点是删除表的命令。SQL 中删除表的命令是DROP TABLE。DELETE命令用于删除数据。DELETE TABLE 的格式错误。DROP 命令的语法错误。因此正确答案为D。
[答案] D
5.在SQL 语句中,修改表中数据的命令是____。
A.ALTER
B.UPDATE
C.DELETE
D.DISTINCT
[解析] 本题考查的知识点是SQL 中修改表中数据的命令。SQL 语句中修改表中数据的命令UPDATE。
ALTER命令用于修改表结构。DELETE 命令用于删除数据。DISTINCT 命令用于SELECT语句中消除重复出现的记录行。
[答案] B
6.在Visual FoxPro 中,向表中输入记录的命令是____。
[解析]本题考查的知识点是向表中输入记录的命令。在SQL 语句中,向表中输入记录的命令是INSERT。
[答案] INSERT
7.在Visual FoxPro 中SQL DELETE 命令是____删除记录,如果要物理删除记录应使用____命令。
[解析] 本题考查的知识点是SQL 中的DELETE 删除命令。在Visual FoxPro 的SQL 中DELETE 命令是逻辑删除记录,如果要物理删除记录应使用PACK 命令。
[答案] 逻辑,PACK
五. SQL 中的数据查询语句数据库中的数据很多时侯是为了查询,因此,数据查询是数据库的核心操作。而在SQL语言中,查询语言中有一条查询命令,即SELECT 语句。
1. 基本查询语句
【格式】
SELECT [ALL | DISTINCT] <字段列表> FROM <表>
【功能】无条件查询。

说明】ALL: 表示显示全部查询记录,包括重复记录。
DISTINCT: 表示显示无重复结果的记录。
【例1】显示STUD(学生信息数据表)中的所有记录。
SELECT * FROM STUD
命令中的*表示输出显示所有的字段,数据来源是STUD 表,表中的内容以浏览方式显示。
【例2】显示STUD(学生信息数据表)中的所有的学号及与之对应的姓名,同时能去除重名。
SELECT DISTINCT 学号,姓名 FROM STUD
【例3】显示SC(课程成绩表)中的所有记录,并将成绩一项乘以0.7。
SELECT 学号,课程号,成绩*0.7 AS 成绩 FROM SC
2. 带条件(WHERE)的查询语句
【格式】
SELECT [ALL | DISTINCT] <字段列表>
FROM <表>
[WHERE <条件表达式> ]
【功能】从一个表中查询满足条件的数据。
【说明】<条件表达式>由一系列用AND 或 OR 连接的条件表达式组成,SQL支持的关系运算符如下:
=、<>、!=、#、==、>、>=、<、<=。
【例1】显示STUD 表中所有男生记录的学号,姓名和性别字段值。
SELECT 学号,姓名,性别 FROM STUD WHERE 性别="男"
【例2】显示STUD 表中出生日期在85-86 年之间的学生的学号,姓名,出生日期。
SELECT 学号,姓名,出生日期 FROM 学生;
WHERE 出生日期 BETWEEN {^1985/01/01} AND {^1986/12/31}
【例3】显示STUD 表中姓李的学生的学号,姓名,出生日期。
SELECT 学号,姓名,出生日期 FROM 学生;
WHERE 姓名 LIKE "l%"
(注:LIKE 是字符匹配运算符,可使用通配符%(表示0-多个字符)、—(表示一个字府))
. SQL 的复杂查询
(1).连接查询
【说明】在一个数据库中的多个表之间一般都存在着某些联系,在一个查询语句中同时涉及到两个或两个以上的表时,这种查询称之为连接查询(也称为多表查询)。在多表之间查询必须处理表与表之间的连接关系。
SELECT [ALL | DISTINCT] <字段列表>
FROM <表1>[,表2…..]
WHERE <条件表达式>
【例1】查询并显示各个学生的学号,姓名,各科成绩及课程名。
SELECT a.学号,a.姓名,b.课程号,c.成绩 ;
FROM STUD a,SC1 b,SC c ;
WHERE a.学号=c.学号 AND b.课程号=c.课程号
【例2】查询并显示各个学生所学课程的情况。
SELECT STUD.学号,STUD.姓名,SC1.课程号 ;
FROM STUD,SC,SC1;
WHERE STUD.学号=SC.学号 AND SC
(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 ;
16.SQL 的操作功能是指____,主要包括数据的____、____、____三个方面的内容。
[解析] 本题考查的知识点是SQL 的操作功能。在Visual FoxPro 中,SQL 的操作功能是指对数据库中数据的操作功能,主要包括数据的插入、更新和删除三个方面的内容。
[答案] 对数据库中数据的操作功能,插入,更新,删除
17.在SQL SELECT 语句中,字符串匹配运算符用____表示;____表示0 个或多个字符;____表示一个字符。
[解析] 本题考查的知识点是SQL SELECT 语句中特殊运算符的LIKE 的应用。在SQL SELECT 语句中,字符串匹配运算符用LIKE 表示;通配符“%”表示0 个或多个字符, “_”表示一个字符。
[答案] LIKE,%,_
4.简单的计算查询
只要数据是按关系方式存入数据库,就可以通过SQL 命令用计算方式进行检索。用于计算检索的函数有:
① COUNT-计数
② SUM-求和
③ AVG-求平均
④ MAX-求最大值
⑤ MIN -求最小值
(5) .分组与计算查询
【格式】
SELECT [ALL | DISTINCT] <字段列表>
FROM <表>
[WHERE <条件>]
[GROUP BY <分类字段列表>…]
[HAVING <过滤条件>]
[ORDER BY <排序项> ASC | DESC]
【功能】包括有排序、函数运算等。
(6).查询去向
默认情况下,查询输出到一个浏览窗口,用户在“SELECT”语句中可使用[INTO<目标>|TO
FILE<文件名>|TO SCREEN| TO PRINTER]子句选择查询去向:
INTO ARRAY 数组名:将查询结果保存到一个数组中。
CURSOR< 临时表名>:将查询结果保存到一个临时表中。
DBF | TABLE <表名>:将查询结果保存到一个永久表中。
TO FILE<文件名>[ADDITIVE]:将查询结果保存到文本文件中。
如果带“ADDITIVE”关键字,查询结果以追加方式添加到<文件名>指定的文件,否则,以新建或覆盖方式添加到<文件名>指定的文件。
TO SCREEN:将查询结果保在屏幕上显示。
TO PRINTER:将查询结果送打印机打印。
【例1】.在SQL SELECT 语句中,条件表达式用____子句,分组用____子句,排序用____子句。
[解析] 本题考查的知识点是SQL SELECT 语句中各个子句的作用。在SQL SELECT 语句中,条件表达式用WHERE 子句, 分组用GROUPBY 子句,排序用ORDERBY 子句。
[答案]WHERE, GROUP BY, ORDER BY
【例2】.在SELEC

T—SQL 语句中,HAVING 子句必须与____子句配合使用。
[解析] 本题考查的知识点是SELECT—SQL 语句中各于句的作用。HAVING 子句必须与GROUP BY 于句配合使用,它主要有来限定分组必须满足的条件。
[答案] GROUP BY
【例3】按班级分类显示学生的姓名,课程名,成绩,同一班级按分数排序。
SELECT a.姓名,a.班级名,c.课程名,b.成绩 ;
FROM STUD a,SC b,课程 c GROUP BY 班级名;
WHERE a.学号=b.学号 AND b.课程号=c.课程号;
ORDER BY a.班级名,b.成绩;
【例4】显示成绩在80 至90 之间的学号,姓名,课程名和成绩。
SELECT a.姓名,c.课程名,b.成绩
FROM STUD a,SC b,COURSE c
WHERE a.学号=b.学号 AND b.课程号=c.课程号 AND b.成绩 BETWEEN 80 AND 90
【例5】显示计算机系学生的成绩。
SELECT a.姓名,a.系别代号,c.课程名,b.成绩 ;
FROM STUD a,SC b,COURSE c ;
WHERE a.学号=b.学号 AND b.课程号=c.课程号 AND a.系别代号=“01”
【例6】显示各班总人数。
SELECT 班级名,COUNT(班级名) AS 总人数 ;
FROM STUD ;
GROUP BY 班级名
( 7).集合的并运算
即UNION,是指将两个SELECT 语句的查询结果通过并运算合并成一个查询结果。
在SQL 中,要进行合并运算,要求两个查询结果具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围。
【例1】显示北京和上海两地区的学生信息。
SELECT * FROM STUD WHERE 籍贯=“北京”
UNION
SELECT * FROM STUD WHERE 籍贯=“上海”
【例2】显示计算机系的学生及所有男学生。
SELECT 学号,姓名,系别代号,性别 ;
FROM STUD ;
WHERE 系别代号="01" UNION ;
SELECT 学号,姓名,系别代号,性别 ;
FROM STUD ;
WHERE 性别=“男”
【例3】显示选修了英语或数学科目的学生学号。
SELECT 学号,课程号 FROM SC ;
WHERE 课程号=“01” UNION ;
SELECT 学号,课程号 FROM SC ;
WHERE 课程号=“02”
 例题:
1.SQL SELECT 中的几个特殊运算符是____。
A.BETWEEN B.AND
C.LIKE D.以上答案均正确
[解析] 本题考查的知识点是SQL SEIECT 中的特殊运算符。在Visual FoxPro 中,SQL SELECT 中的特殊运算符包括BETWEEN,AND,LIKE。本题选项D 包括选项A,B,C,因此正确答案为D。
[答案] D
2.在“考生成绩”表中检索成绩在90 到95 的考生信息,应输入____命令。
“考生成绩”表
记录号 学号 成绩 名次
1 9001 95 2
2 9002 84 7
3 9003 92 3
4 9004 99 1
5 9005

90 4
A.SEIECT * FROM 考生成绩 WHERE 成绩 BETWEEN 90 AND 95
B.SELECT 信息 FROM 考生成绩 WHERE 成绩 BETWEEN 90 AND 95
C. SELECT * FROM 考生成绩 WHERE 成绩 BETWEEN 90 到 95
D.SELECT 成绩 WHERE 成绩 BETWEEN 90 到 95 FROM 考生成绩
[解析] 本题考查的知识点是特殊运算符的应用。选项A 中的“*”是通配符,表示表中的信息;FROM 指定从“考生成绩’’表中查询;WHERE 成绩指不定期查询条件为成绩;BETWEEN…AND…表示“…和…之间”。选项B 中的“信息’’ 错误,表中没有“信息”字段,选项C 语法错误;选项D 语法错误。因此正确答案为A。
[答案] A
3.在SQL 中,“不等于”用____表示
A.!=
B.≠
C.<>
D.﹟
[解析] 本题考查的知识点是SQL 中的不等于符号的表示方式。在SQL 中,不等于符号用!=表示。选项B 是算术运算符中的不等于符号。选项C 和D 是关系运算符中的不等于符号。
[答案] A
4.假设已打开表“学生资料”,在命令窗口中输入“SEIECT COUNT(*) FROM 学生资料”命令后,结果为____。
“学生资料”
记录号 姓名 班级 年龄
1 小凡 2 23
2 小陌 5 24
3 默一 1 22
4 天天 4 21
5 生生 2 23
A.2l B.113
C.22 D.5
[解析] 本题考查的知识点是SQL 中用于计算检索的函数。在Visual FoxPro 中,用于计算检索的函数有COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(还求最大值)和MIN(求最小值)。
选项A 是最小值;选项B 是表中年龄的总和;选项C 为年龄平均值。选项D 是表中记录数。
[答案] D
5.在SQL 中用来计算平均值的函数为____。
A.COUNT
B.SUM
C.AVG
D.MAX
[解析] 本题考查的知识点是SQL 中用于计算检索的函数。COUNT 用于计数;SUM 用于求和;AVG 用于求平均值;MAX 用于求最大值。
[答案] C
6.下列查询空值的命令中正确的一项是____。
A.IS NULL
B.=NULL
C.NULL
D.SELECT NULL
[解析] 本题考查的知识点是查询空值的命令。在SQL 中,查询空值时要使用IS NULL,它的功能是测试属性值是否为空值,不能使用=NULL。因为空值不是一个确定的值,所以不能用“=”号这样的运算符进行比较。因此正确答案为A。
[答案] A
7.下列关于SQL 的并运算,说法不正确的一项是____。
A.集合的并运算,即UNION,是指将两个以上SELECT 语句的查询结果通过并运算合并成一个查询结果
B.集合的差运算,即UNION,是指将两个SELECT 语句的查询结果通过并运算合并成一个查询结果
 

C.进行并运算要求两个查询结果具有相同的字段个数据,并且对应的字段的值要出自同一个值域
D.两个查询结果要具有相同的数据类型和取值范围
[解析] 本题考查的知识点是SQL 支持的并运算,即UNION 它是指将两个SELECT 语句的查询结果通过并运算合并成一个查询结果。要进行并运算,要求两个查询结果具有相同的字段个数,并又对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围。
本题选项A,C,D 说法都正确。选项B 说法错误,应该是将两个SELECT 语句的查询结果通过并运算合并成一个查询结果。
[答案] B
8.在SEIECT—SQL 语句中,HAVING 子句必须与____子句配合使用。
[解析] 本题考查的知识点是SELECT—SQL 语句中各于句的作用。HAVING 子句必须与GROUP BY 于句配合使用,它主要有来限定分组必须满足的条件。
[答案] GROUP BY
9.在SELECT—SQL 语句中,定义一个区间范围的特殊运算符是____,检查一个属性值是否属于一组值中的特殊运算符是____。
[解析]在SELECT 语句中,定义一个区间范围的特殊运算符是BETWEEN,检查一个属性值是否属于一组值的特殊运算符是IN。
[答案] BETWEEN, IN

相关主题
文本预览
相关文档 最新文档