4综合试题vfp.doc_第1页
4综合试题vfp.doc_第2页
4综合试题vfp.doc_第3页
4综合试题vfp.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库1.设置Student表中学号字段的显示格式:学号只能由数字组成,且居中显示。学号 格式 : I 输入掩码: 9999992设置Student表中性别字段的有效性规则:性别字段只能输入男或女,输入错误时提示:性别只能为男或女,默认性别为男;学号 规则:性别=男 OR 性别=女设置Sc表中学号字段的有效性规则:学号的前四位必须为2008或2009,输入错误时提示:学号前四位必须为2008或2009,默认学号为2008。【LEFT(学号,4)=2008 OR LEFT(学号,4)=2009】【学号=2008 OR 学号=2009】【subs(学号,1,4)=2008 OR subs(学号,1,4)=2009】3设置Student表的记录有效性规则:2008级同学不能是法律学院的 (法律学院的院系号为3)学生,错误时提示:2008年法律学院没有招生。【NOT(LEFT(学号,4)=2008 and 院系号=3)】4设置Sc表的触发器规则:删除记录时,不及格的记录(成绩小于60分)禁止删除;修改成绩时,不能将成绩改为超过99分;添加记录时,成绩不能小于0分或者大于100分。【成绩=0 and 成绩100 】【 成绩=60】1对“职工”表,设置“工资”字段有效性规则在1000到3000元之间,错误提示为工资输入错误,默认工资值为1200。规则:工资=1000 and 工资450 and 城市=南京)南京用地太贵 3对“仓库”表设置插入触发器为面积不能超过1000,更新触发器为面积不能小于等于0,删除触发器为面积不能在200到400之间仓插入触发器: 面积0面积400 or面积=0 ERROR 书的单价必须大于0 DEFAULT 0)* 4创建orders表,同时按bookid+custid建立主索引,索引标识为 ordid。其中bookid为字符型,宽度6;custid为字符型,宽度6;qty 为整型(i),并定义有效性规则:不小于0,信息:书的数量不能少于0,默认值:0。CREATE TABLE orders(bookid C(6),custid C(6),date D,;qty I CHECK QTY=0 ERROR 书的数量不能少于0 DEFAULT 0, ;PRIMARY KEY bookid+custid TAG ordid)* 5向customers表中添加fax字段,类型为字符型,宽度为20,并允许它为NULL值;ALTER TABLE customers ADD fax C(20) NULL* 6给customers表添加新字段fax2字符型,宽度为20,不能为NULL,并定义为候选索引;ALTER TABLE customers ADD fax2 C(20) NOT NULL UNIQUE* 7. 修改customers表的fax字段类型为N,宽度为8,小数位数为1,默认值为0;ALTER TABLE customers alter fax N(8,1) DEFAULT 0* 8修改customers表的fax2字段可以为NULL; ALTER TABLE customers ALTER fax2 NULL* 9删除orders的qty字段的有效性规则;ALTER TABLE orders ALTER qty DROP CHECK * 10给orders的qty字段添加有效性规则,使qty的值非负,提示信息为“书的数量不能少于0”,默认值为10;ALTER TABLE orders ALTER qty SET CHECK qty=0 ERROR 书的数量不能少于0 ALTER TABLE orders ALTER qty SET DEFAULT 10 * 11删除customers表的主索引custid,再添加候选索引custid;ALTER TABLE customers DROP PRIMARY KEY ALTER TABLE customers ADD UNIQUE custid TAG custid* 12删除customers表的fax2字段(由于我们以fax2为关键字建立了索引,所以要先删除索引,再删除字段);ALTER TABLE customers DROP UNIQUE TAG fax2 ALTER TABLE customers DROP fax2* 1向表books中添加记录(020001,轻松学习VISUAL FOXPRO,42.00)和(020002,日语入门,36.00);INSERT INTO books VALUES(020001,轻松学习VISUAL FOXPRO,42.00)INSERT INTO books VALUES(020002,日语入门,36.00)* 2分别给变量xy赋值为日期12/24/2008,xyz赋值为5,并将其添加到表orders中的date和qty字段;xy=2008/12/24xyz=5INSERT INTO orders (date,qty) VALUES(XY,XYZ)* 3定义有4个元素的数组guke, 依次给4个元素赋值为020001,张三213665,然后添加到表customers中; DIMENSION guke(4) guke(1) =020001 guke(2) =张三 guke(3) =guke(4) = 213665 INSERT INTO customers FROM ARRAY guke* 4将 books中的“轻松学习VISUAL FOXPRO”的价格降至80%;UPDATE books SET PRICE=PRICE*0.8 WHERE name=轻松学习VISUAL FOXPRO* 5将 books中第2条记录的name字段值改为“德语入门”,price字段增加15%;UPDATE books SET price=price*1.15, name=德语入门 WHERE RECNO()=2* 6. 在customers表中对“张三”记录作删除标记; DELETE FROM customers WHERE name=张三* 1.创建“ckgl”数据库并打开数据库设计器;CREATE DATABASE CKG1MODIFY DATABASE* 2.建立一个数据库表“ck”,其结构如下:仓库号为字符型,宽度为10;城市字符型,宽度为6;面积 整型;EMAIL 字符型,宽度为20,并按仓库号建立主索引。 CREATE TABLE CK(仓库号 C(10) PRIMARY KEY,城市 C(6),面积 I,E_mail C(20)* 3向“ck”表中添加两条记录,(WH1,北京,370)和(WH2,上海,400)。INSERT INTO CK(仓库号,城市,面积) VALUES(WH1,北京,370)INSERT INTO CK(仓库号,城市,面积) VALUES(WH2,上海,400)* 4在“ck”表中,将所有记录的EMAIL字段值使用“城市”的字段值加上“仓库号”的字段值再加上“”进行替换。UPDATE CK SET E_MAIL=城市+仓库号+XXXX.COM.CN* 5建立“zg”表,其结构如下:仓库号 字符型,宽度为10 不允许为NULL;职工号 字符型,宽度为6,主关键字;工资 整型,默认值为1200。 CREATE TABLE ZG(仓库号 C(10),职工号 C(6) PRIMARY KEY,工资 I DEFAULT 1200)* 6向“zg”表添加出生日期字段,类型为日期型,并允许为NULL ALTER TABLE ZG ADD 出生日期 D NULL* 7向“zg”表添加学历字段,类型为字符型,宽度为20。 ALTER TABLE ZG ADD 学历 C(20)* 8修改“zg”表的学历字段,将宽度改为8,默认值为“本科”。 ALTER TABLE ZG ALTER 学历 C(8) DEFAULT 本科* 9删除“zg”表的学历字段。ALTER TABLE ZG DROP 学历* 10向“zg”表插入两条新纪录,记录1的信息为:仓库号“WH3”,职工号“E5”,工资1500,出生日期为NULL;记录2的信息为:仓库号“WH1”,职工号“E2”,工资1470。INSERT INTO ZG VALUES(WH3,E5,1500, NULL)INSERT INTO ZG(仓库号,职工号,工资) VALUES(WH1,E2,1470)* 11将“ck”中上海的仓库的面积改为400。UPDATE CK SET 面积=400 WHERE 城市=上海* 12将“zg”表中所有WH1仓库的记录物理删除。DELETE FROM ZG WHERE 仓库号=WH1* 13定义一维数组S(4),并给数组元素赋值,其中S(1)=”WH3”,S(2)=”E9”,S(3)=1350, S(4)=1980/2/1,并将数组内容作为一条记录插入到“zg”表中。 DIMENSION S(4) S(1)=WH3 S(2)= E9 S(3)= 1350 S(4)= 1980/2/1 INSERT INTO ZG FROM ARRAY S*8. 查询女党员的学生姓名,院系号和年龄信息 SELECT 姓名,院系号,year(date()-year(出生日期) AS 年龄 FROM student WHERE 性别=女 and 党员*10检索出c1、c2两门课程中成绩高于80分的学生学号、课程号和成绩SELECT * FROM sc WHERE (课程号=c1 OR 课程号=c2) and 成绩80*12查询哪些学生已经选修了课程,显示其学号 SELECT DISTINCT 学号 from sc*3先按性别,性别相同再按年龄升序排序并输出学生的姓名,性别和年龄信息 SELECT 姓名,性别,YEAR(DATE()-YEAR(出生日期) AS 年龄 FROM student ORDER BY 性别,3*5查询c2课程分数最高的2名学生的信息 SELECT * TOP 2 FROM sc WHERE 课程号=c2 ORDER BY 成绩 desc *6显示分数最低的30%的学生信息 SELECT * top 30 PERCENT FROM sc ORDER BY 成绩*8统计所有学生所在院系的个数 SELECT COUNT(DISTINCT 院系号) FROM student*9统计c1课程的总分与平均分 SELECT SUM(成绩) AS 总分, AVG(成绩) as 平均分 FROM sc WHERE 课程号=c1*11查询学生的最小年龄 SELECT MIN(INT(DATE()-出生日期)/365) FROM student2查询每门课程被选修的人次和最高分 SELECT 课程号,COUNT(*) AS 人次,MAX(成绩) AS 最高分 FROM sc GROUP BY 课程号*3查询至少被选修了3次以上的课程的课程号、选修次数和平均分 SELECT 课程号,COUNT(*) AS 人次 ,avg(成绩) AS 平均分 FROM sc GROUP BY 课程号 HAVING COUNT(*)=3 *4检索被选修了3次以上的课程的总成绩,但不统计不及格的成绩,结果按总成绩降序排序,总成绩相同则按课程号排序。 SELECT 课程号,SUM(成绩) AS 总成绩 FROM sc WHERE 成绩60 GROUP BY 1 HAVINGCOUNT(*)3 ORDER BY 2 DESC,1*5查询不是1991年到1994年间出生的学生信息SELECT * FROM student WHERE YEAR(出生日期) NOT between 1991 AND 1994*7查询09级的学生信息 SELE * FROM student WHERE 学号 LIKE 2009%*8查询不姓李的学生信息 SELECT * FROM student WHERE 姓名 NOT LIKE 李%9检索出院系号不是4的全部学生信息 SELECT * FROM student WHERE 院系号4*10. 查询院系名称第2个字不为算的院系信息 SELECT * FROM dep WHERE 院系名称 NOT LIKE _算% *11. 查询所有选修了c1或c3或c4课程的学生的学号,课程号和成绩 SELECT 学号,课程号,成绩 FROM sc WHERE 课程IN(c1,c3,c4) *12查询所有学号的尾数不为2或4的学生的信息 SELECT * FROM student WHERE RIGHT(ALLTRIM(学号),1) NOT IN(2, 4)*13. 检索出同时选修了c1和c3课程的学生的学号 SELECT 学号 FROM sc WHERE 课程号 in (c1,c3) GROUP BY 学号 HAVING COUNT(DISTINCT 课程号)=2*14找出尚没有成绩的学生 SELECT * FROM sc WHERE 成绩 IS NULL*1从“仓库”表中查询所有仓库所在的城市。select DISTINCT 城市 from 仓库*4检索哪些仓库有工资多于1220元的职工。select DISTINCT 仓库号 from 职工 where 工资1220*5查询S4和S7两个供应商在2001年7月的订购单号。select 订购单号 from 订购单 where (供应商号=S4 or 供应商号=S7) and year(订购日期)=2001 and MONTH(订购日期)=7*6找出在面积大于300的仓库工作的职工的职工号以及这些职工工作所在的城市。select 职工号,城市 from仓库,职工 where 面积350 and 仓库.仓库号=职工.仓库号*7哪些城市至少有一个仓库的职工工资为1250元?select 城市 from 仓库,职工 where 仓库.仓库号=职工.仓库号 and 工资=1250*8检索出2001年6月15日到2001年7月15日内的订购单信息。select * from 订购单 where 订购日期 BETWEEN 2001/6/15 and 2001/7/15*5. 求3系和4系的学生所选修课程的成绩的总分SELECT SUM(成绩) 总分FROM sc ;WHERE 学号 IN (SELECT 学号 FROM student WHERE 院系号 IN (3,4)*2查询比c3课程的所有成绩要高的课程名和成绩 SELECT 课程名,成绩 FROM sc,course WHERE sc.课程号c3 AND 成绩 ;all(SELECT 成绩 FROM sc WHERE 课程号=c3) and sc.课程号=course.课程号*4将查询到的学生信息存放在数组tmp中并显示 SELECT * FROM student into array tmpDISPLAY MEMO LIKE tmp*5.将查询到的学生信息存放在临时文件tmp中并显示 SELECT * FROM student into cursor tmpLIST SELE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论