几道题

4. 表达式VAL(SUBSTR("金飞腾有限公司,2"))*LEN('Micro soft word')的结果为什么是0.00?
  顺便讲下str函数,我不太懂啊

5. 执行下列命令后的输入结果是
  年龄=45
  nl="年龄"
  ?nl,&nl
答案是年龄 45
我不清楚的是“&”有啥意义

6. 前面问过str()函数
STR(3.1415,7,3)结果怎么是3.142

7. 在下列命令中,不能对记录进行编辑修改的是(A)
A. MODIFY STRUCTURE
B. EDIT
C. CHANGE
D. BROWSE
答案是A,我选D,我想浏览怎么能修改呢?

8. 执行下列命令序列后,HH1和HH2的指针分别指向(C)
SELECT 1
USE HH1
SELECT 2
USE HH2
SKIP
SELECT 1
SKIP 3

A. 1,4   B. 4,1   C.4,2   D. 2,4


9. 要删除职工表中“工资”字段中的所有比值,其他字段保持不变,可以输入()命令
A. REPLACE ALL 工资 WITH 1
B. REPLACE ALL   工资 WITH 0
C,D已排除,不写了
答案是B
问题是with后的1,0含义是什么

10. 执行下列命令后,函数EOF()值一定为.T.的是()
A.LIST NEXT 15
B.SUM 年龄 TO NL WHILE 性别 ="女"
C.DISP FOR 年龄>65
D.REPL 年龄 WITH 年龄+1
答案是C

11. 有命令序列如下
USE STUDENT
LIST
  RECORD #   姓名   出生日期
    1     吴大友   03/07/80
    2     梁天成   02/09/81
    3     杨玉明   09/07/82
INDEX ON DTOC(出生日期)TO AA
LIST
执行了上述命令序列后,记录的显示顺序是(   )
A.吴大友 03/07/80   B.杨玉明 09/07/82
梁天成 02/09/81     梁天成 02/09/81
杨玉明 09/07/82     吴大友 03/07/80
C.杨玉明 09/07/82   D.梁天成 02/09/81
吴大友 03/07/80     吴大友 03/07/80
梁天成 02/09/81     杨玉明 09/07/82
答案是D,问题是首先题中未言明升序或是降序,默认是降序?其二,日期包括年、月、日,到底以哪个为准

12. 设有职工(编号,姓名,职称,基本工资)和工资(编号,......,实发工资)两个表,如下程序段用关联方法显示所有职工的编号,姓名,职称,基本工资和实发工资的数据,请填空完成以下程序段
SELECT 1
USE 工资 ALL AS GZ
INDEX ON 编号 TO idx3
SELECT 2
USE 职工
SET RELATION TO_______
LIST 编号,姓名,职称,基本工资,________实发工资
第一空是编号 INTO GZ
第二空是GZ->
GZ->是什么含意?

13. 设有XX.DBF表,索引关键字为“学号”字段。如果表和索引已经打开,“学号”字段为主索引,将学号重复的纪录进行物理删除,请填空
DO WHILE______
XH=学号
SKIP
IF______
DELETE
ENDIF
ENDDO
PACK
第一空是NOT EOF()
第二空是学号=XH
为什么第一句要用DO WHILE NOT EOF()写?

14. 设有表GZQK.DBF,其结构如下:
  字段   字段名   类型   宽度     小数
  1     编号     C     4      
  2     姓名     C     8
  3     性别     C     2
  4     工龄     N     4       1
  5     工资     N     7       2
  6     职称     C     10
现用命令文件修改职工工资。原则:工龄在20年(含20年)以上的每人增加150元,工龄在20年以下的每人增加100元,请补充完整
SET TALK OFF
USE GEQK
DO WHILE______
IF工龄 >=20
REPLACE 工资 WITH 工资+150
ELSE
REPLACE 工资 WITH 工资+100
ENDIF
_______
ENDDO
SET TALK ON
RETURN
第一空是NOT EOF
第二空是SKIP
问题是为什么第二空要用SKIP?不用可以执行的呀


15. 有以下命令序列
  USE TEACHER1
  LIST
    record #     姓名   性别   年龄   职称代码
    1         许曦   女     54     1
    2         丁一   男     30     3
    3         陈芳   女     45     4
    4         宁兰   女     28     3
    5         宋茜   女     48     2
  SELECT 2
  USE TEACHER2 ALI AS a2
  LIST
  record #     职称代码     职称
    1         1         助教
    2         2         讲师
    3         3         副教授
    4         4         教授
  INDEX ON 职称代码 TO a2
  SELECT 1
  USE TEACHER1
  SET RELATION TO 职称代码 INTO a2
  GOTO 2
  ?RECNO(2)
  显示的值是()
  A.1 B.2   C.3   D.4
  答案是C

16. WHERE NOT EXIST() 和WHERE NOT IN()的区别是什么?

17. 下述命令中的( )命令不能关闭表文件
A. USE     B. CLOSE DATABASE
C. CLEAR   D. CLOSE ALL
答案是C,USE能关闭表文件?只能打开嘛

18. 设S,SC分别为学生关系和选课关系,现要查询选修C2课程,且成绩为B以上(含B)的学生及成绩,相应的SQL语句是:
SELECT S.*,SC.G
FROM S,SC
WHERE S.S#=SC.S# AND SC.C#='C2' AND (   )
A. SC.G>='B'   B. SC.G<='B'
C. SC.G>'B'   D. SC.G<'B'
答案是B,首先是不懂S.*,SC.G

19. 如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作(   )不能执行
A.从职工表中删除行('025','王芳','03',720)
B.将行('015','乔兴','04',7500)插入到表中
C.将职工号为'001'的工资改为700
D.将职工号为'038'的部门改为'03'
答案是B,问题:插入都可以,A的删除为什么就是错的?

20. 在SQL查询语句中,( )短语用于实现关系的投影操作
A. WHERE   B. SELECT
C. FROM     D. GROUP BY
答案是B,我选D,GROUP是分组依据,分组就是对属性的操作呀

21. SQL中ALTER与UPDATE的区别是什么?

22. SQL SELECT语句中的特殊运算符不包括(   )
  A. BETEEN   B. AND
  C. OR       D. LIKE
答案是C,什么叫特殊运算符?

23. #在VFP中有没有什么意义?

24. 如果WHERE   IN()语句是对的,有没有WHERE   =语句?

25. 与SELECT 姓名,职称,书名 FROM 读者,借阅,图书 WHERE 读者.借书证号=借阅.借书证号 AND 图书.总编号=借阅.总编号等价的SQL语句为( )
A.SELECT 姓名,职称,书名 FROM 读者,借阅 WHERE 读者.借书证号=借阅.借书证号 AND 图书.总编号=借阅.总编号
B.SELECT 姓名,职称,书名 FROM 读者D,借阅J,图书T WHERE D.借书证号=J.借书证号 AND T.总编号=J.总编号
C.SELECT 姓名,职称,书名 FROM 读者,图书 WHERE 读者.借书证号=借阅.借书证号 AND 图书.总编号=借阅.总编号
D.SELECT 姓名,职称,书名 FROM 读者,图书,借阅;
(SELECT * FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
答案是B,原选D