(21)在下面的Visual FoxPro表达式中,运算结果为逻辑真的是
A)EMPTY(.NULL.) B)LIKE(’xy? ’, ’xyz’)
C)AT(’xy’, ’abcxyz’) D)ISNULL(SPACE(0))
(22)依次执行以下命令后的输出结果是
SET DATE TO YMD
SET CENTURY ON
SET CENTURY TO 19 ROLLOVER 10
SET MARK TO "."
? CTOD("49-05-01")
A)49.05.01 B)1949.05.01 C)2049.05.01 D)出错
(23)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6)。在命令窗口输入并执行如下命令:
姓名=姓名-"您好"
? 姓名
那么主窗口中将显示
A)张三 B)张三 您好 C)张三您好 D)出错
(24)有一学生表文件,且通过表设计器已经为该表建立了若干普通索引。其中一个索引的索引表达式为姓名字段,索引名为XM。现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令是
A)SET INDEX TO 姓名 B)SET INDEX TO XM
C)SET ORDER TO 姓名 D)SET ORDER TO XM
(25)当前打开的图书表中有字符型字段“图书号”,要求将图书号以字母A开头的图书记录全部打上删除标记,通常可以使用命令
A)DELETE FOR 图书号="A" B)DELETE WHILE 图书号="A"
C)DELETE FOR 图书号="A*" D)DELETE FOR 图书号 LIKE "A%"
(26)在Visual FoxPro中,要运行查询文件query1.qpr,可以使用命令
A)DO query1 B)DO query1.qpr
C)DO QUERY query1 D)RUN query1
(27)下列程序段的输出结果是
ACCEPT TO A
IF A=[123456]
S=0
ENDIF
S=1
? S
RETURN
A)0 B)1 C)由A的值决定 D)程序出错
(28)如果在命令窗口输入并执行命令:“LIST 名称”后在主窗口中显示:
记录号 名称
1 电视机
2 计算机
3 电话线
4 电冰箱
5 电线
假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是
GO 2
SCAN NEXT 4 FOR LEFT(名称,2)="电"
IF RIGHT(名称,2)="线"
LOOP
ENDIF
?? 名称
ENDSCAN
A)电话线 B)电冰箱
C)电冰箱电线 D)电视机电冰箱
第(29)—(35)题使用如下三个表:
职员.DBF:职员号 C(3),姓名 C(6),性别 C(2),组号 N(1),职务 C(10)
客户.DBF:客户号 C(4),客户名 C(36),地址 C(36),所在城市 C(36)
订单.DBF:订单号 C(4),客户号 C(4),职员号 C(3),签订日期 D,金额 N(6.2)
(29)查询金额最大的那10%订单的信息。正确的SQL语句是
A)SELECT * TOP 10 PERCENT FROM 订单
B)SELECT TOP 10% * FROM 订单 ORDER BY 金额
C)SELECT * TOP 10 PERCENT FROM 订单 ORDER BY 金额
D)SELECT TOP 10 PERCENT * FROM 订单 ORDER BY 金额 DESC
(30)查询订单数在3个以上、订单的平均金额在200元以上的职员号。正确的SQL语句是
A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_金额>200
B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG(金额)>200
C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG(金额)>200
D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_金额>200
(31)显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的SQL语句是
A)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户
ON 订单.客户号=客户.客户号 WHERE 签订日期>{^2005-1-1}
B)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户
WHERE 订单.客户号=客户.客户号 AND 签订日期>{^2005-1-1}
C)SELECT 订单号,客户名,签订日期 FROM 订单,客户
WHERE 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
D)SELECT 订单号,客户名,签订日期 FROM 订单,客户
ON 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
(32)显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是
A)SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单
ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0
B)SELECT 职员.职员号,姓名 FROM 职员 LEFT JOIN 订单
ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0
C)SELECT 职员号,姓名 FROM 职员
WHERE 职员号 NOT IN (SELECT 职员号 FROM 订单)
D)SELECT 职员.职员号,姓名 FROM 职员
WHERE 职员.职员号 <> (SELECT 订单.职员号 FROM 订单)
(33)有以下SQL语句:
SELECT 订单号,签订日期,金额 FROM 订单,职员
WHERE 订单.职员号=职员.职员号 AND 姓名="李二"
与如上语句功能相同的SQL语句是
A)SELECT 订单号,签订日期,金额 FROM 订单
WHERE EXISTS (SELECT * FROM 职员 WHERE 姓名="李二")
B)SELECT 订单号,签订日期,金额 FROM 订单 WHERE
EXISTS (SELECT * FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二")
C)SELECT 订单号,签订日期,金额 FROM 订单
WHERE IN (SELECT 职员号 FROM 职员 WHERE 姓名="李二")
D)SELECT 订单号,签订日期,金额 FROM 订单 WHERE
IN (SELECT 职员号 FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二")
(34)从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是
A)DROP FROM 订单 WHERE 客户号="1001"
B)DROP FROM 订单 FOR 客户号="1001"
C)DELETE FROM 订单 WHERE 客户号="1001"
D)DELETE FROM 订单 FOR 客户号="1001"
(35)将订单号为“0060”的订单金额改为169元,正确的SQL语句是
A)UPDATE 订单 SET 金额=169 WHERE 订单号="0060"
B)UPDATE 订单 SET 金额 WITH 169 WHERE 订单号="0060"
C)UPDATE FROM 订单 SET 金额=169 WHERE 订单号="0060"
D)UPDATE FROM 订单 SET 金额 WITH 169 WHERE 订单号="0060"