2023年实验二:交互式sql.pdf

上传人:c****2 文档编号:93093289 上传时间:2023-06-28 格式:PDF 页数:25 大小:828.51KB
返回 下载 相关 举报
2023年实验二:交互式sql.pdf_第1页
第1页 / 共25页
2023年实验二:交互式sql.pdf_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《2023年实验二:交互式sql.pdf》由会员分享,可在线阅读,更多相关《2023年实验二:交互式sql.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-最新资料推荐-1/25 实验二:交互式 sql 交互式 SQL 语言 题目:实验二(1)交互式 SQL 语言 姓名 Vivian 日期 2005-1-1 实验内容及完成情况:(写出每一种类型的 SQL 测试用例)(一)数据定义 一、基本表操作 1.建立基本表 1)创建学生表 Student,由以下属性组成:学号 SNO(INT 型,主码),姓名 SNAME(CHAR 型,长度为 8,非空唯一),性别 SEX(CHAR 型,长度为 2),所在系 DEPTNO(INT 型)。CREATE TABLE Student(SNO INT PRIMARY KEY,SNAME CHAR(8)NOT NUL

2、L UNIQUE,SEX CHAR(2),DEPTNO INT);2)创建课程表 Course,由以下属性组成:课程号 CNO(INT 型),课程名 CNAME(CHAR 型,长度为 20,非空),授课教师编号 TNO(INT 型),学分 CREDIT(INT 型)。其中(CNO,TNO)为主码。CREATE TABLE Course(CNO INT,CNAME CHAR(20)NOT NULL,TNO INT,CREDIT INT,PRIMARY KEY(CNO,TNO);3)创建学生选课表 SC,由以下属性组成:学号 SNO,课程 CNO,成绩 GRADE。所有属性 均为 INT 型,其中

3、(SNO,CNO)为主码。CREATE TABLE SC(SNO INT,CNO INT,GRADE INT,PRIMARY KEY(SNO,CNO);4)创建教师表 Teacher,由以下属性组成:教师编号 TNO(INT 型,主码),教师姓名 TNAME(CHAR 型,长度为 8,非空),所在系 DEPTNO(INT 型)。CREATE TABLE Teacher(TNO INT PRIMARY KEY,TNAME CHAR(8)NOT NULL,DEPTNO INT);5)创建系表 Dept,由以下属性:系号 DEPTNO(INT 型,主码),系名 DNAME(CHAR 型,长度为 20

4、,非空)。CREATE TABLE Dept(DEPTNO INT PRIMARY KEY,DNAME CHAR(20)NOT NULL);2.修改基本表 1)在 Student 表中加入属性 AGE(INT 型)。ALTER TABLE Student ADD AGE INT;2)将 Student 表中的属性 SAGE 类型改为 SMALLINT 型。ALTER TABLE Student ALTER COLUMN SAGE SMALLINT;3.删除基本表 1)在所有操作结束后删除 STUDENT 表。DROP TABLE Student;2)在所有操作结束后删除 COURSE 表。DR

5、OP TABLE Course;3)在所有操作结束后删除 SC 表。DROP TABLE SC;4)在所有操作结束后删除 TEACHER 表。DROP TABLE Teacher;5)在所有操作结束后删除 DEPT 表。DROP TABLE Dept;二、索引操作 1.建立索引 1)在 Student 表上建立关于 SNO 的唯一索引。度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上

6、建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐-3/25 CREATE UNIQUE INDEX stusno ON Student(SNO);2)在 Course 表上建立关于 CNO 升序的唯一索引。CREATE UNIQUE INDEX coucno ON Course(CNO);2.删除索引 1)删除 Student 表上的索引 stusno。DROP INDEX stusno;2)删除 Course 表上的索引 coucno。DROP INDEX coucno;三、视图操作 1.建立视图 在插入数据的 Student 基本表上为计算机科学与技术系的学生记录建立一个视图 C

7、S_STUDENT。CREATE VIEW CS_STUDENT AS SELECT*FROM Student WHERE DEPTNO=(SELECT DEPTNO FROM Dept WHERE DNAME=计算机科学与技术)WITH CHECK OPTION;2.删除视图 在操作结束后删除视图 CS_STUDENT。DROP VIEW CS_STUDENT;(二)数据操作 一、更新操作 1.插入数据 1)向 STUDENT 表插入下列数据:1001,张天,男,10,20 1002,李兰,女,10,21 1003,陈铭,男,10,21 1004,刘茜,女,20,21 1005,马朝阳,男,

8、20,22 INSERT INTO Student VALUES(1001,张 天,男,10,20);INSERT INTO Student VALUES(1002,李 兰,女,10,21);INSERT INTO Student VALUES(1003,陈 铭,男,10,21);INSERT INTO Student VALUES(1004,刘 茜,女,20,21);INSERT INTO Student VALUES(1005,马朝阳,男,20,22);2)向 COURSE 度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空

9、所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于表插入下列数据:1,数据结构,101,4 2,数据库,102,4 3,离散数学,103,4 4,C 语言 程 序 设 计,101,2 INSERT INTO Course VALUES(1,数 据 结构,101,4);INSERT INTO Course VALUES(2,数据库,102,4);INSERT INTO Course VALUES(3,离散数学,103,4);INSERT INTO Cours

10、e VALUES(4,C 语言程序设计,101,2);3)向 SC 表插入下列数据:1001,1,80 1001,2,85 1001,3,78 1002,1,78 1002,2,82 1002,3,86 1003,1,92 1003,3,90 1004,1,87 1004,4,90 1005,1,85 1005,4,92 INSERT INTO SC VALUES(1001,1,80);INSERT INTO SC VALUES(1001,2,85);INSERT INTO SC VALUES(1001,3,78);INSERT INTO SC VALUES(1002,1,78);INSERT

11、 INTO SC VALUES(1002,2,82);INSERT INTO SC VALUES(1002,3,86);INSERT INTO SC VALUES(1003,1,92);INSERT INTO SC VALUES(1003,3,90);INSERT INTO SC VALUES(1004,1,87);INSERT INTO SC VALUES(1004,4,90);INSERT INTO SC VALUES(1005,1,85);INSERT INTO SC VALUES(1005,4,92);4)向 TEACHER 表插入下列数据:101,张星,10 102,李珊,10 10

12、3,赵天应,10 104,刘田,20 INSERT INTO Teacher VALUES(101,张 星,10);INSERT INTO Teacher VALUES(102,李 珊,10);INSERT INTO Teacher VALUES(103,赵天应,10);INSERT INTO Teacher VALUES(104,刘田,20);5)向 DEPT 表插入下列数据:度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在

13、所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐-5/25 10,计 算 机 科 学 与 技 术 20,信 息 INSERT INTO Dept VALUES(10,计 算 机 科 学 与 技 术);INSERT INTO Dept VALUES(20,信息);2.修改数据 将张星老师数据结构课的学生成绩全部加 2 分 UPDATE SC SET GRADE=GRADE+2 WHERE CNO IN(SELECT CNO FROM Course,Teacher WHERE Course.TNO=Teacher.TNO AND Teacher

14、.TNAME=张星);3.删除数据 删除马朝阳同学的所有选课记录 DELETE FROM SC WHERE SNO IN(SELECT SNO FROM Student WHERE SNAME=马朝阳);二、查询操作 1.单表查询 1)查询所有学生的信息。SELECT*FROM Student;结果:1001 张天 男 10 20 1002 李兰 女 10 21 1003 陈铭 男 10 21 1004 刘茜 女 20 21 1005 马朝阳 男 20 22 2)查询所有女生的姓名。SELECT SNAM E FROM Student WHERE SEX=女;结果:李兰 刘茜 3)查询成绩在

15、80 到 89 之间的所有学生选课记录,查询结果按成绩的降序排列。SELECT*FROM SC WHERE GRADE=80 AND GRADE=89 ORDER BY GRADE DESC;结果:1004 1 87 1002 3 86 1001 2 85 1005 1 85 1002 2 82 1001 1 80 4)查询各个系的学生人数。SELECT DEPTNO,count(SNO)FROM Student GROUP BY DEPTNO;度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主

16、码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于结果:10 3 20 2 2.连接查询 查询信息系年龄在 21 岁以下(含 21 岁)的女生姓名及其年龄。SELECT SNAME,AGE FROM Student,Dept WHERE Student.DEPTNO=Dept.DEPTNO AND Dept.DNAME=信息 AND AGE=21 AND SEX=女;结果:刘茜 21 3.嵌套查询 1)查询修课总学分在 10 学分以下的学生姓名。SELECT SNAME FROM Stud

17、ent WHERE SNO IN(SELECT SNO FROM SC,Course WHERE SC.CNO=Course.CNO GROUP BY SNO HAVING SUM(CREDIT)10);结果:陈铭 刘茜 马朝阳 2)查询各门课程取得最高成绩的学生姓名及其成绩。SELECT CNO,SNAME,GRADE FROM Student,SC SCX WHERE Student.SNO=SCX.SNO AND SCX.GRADE IN(SELECT MAX(GRADE)FROM SC SCY WHERE SCX.CNO=SCY.CNO GROUP BY CNO);结果:2 张天 85

18、 3 陈铭 92 1 陈铭 90 4 马朝阳 92 3)查询选修了 1001 学生选修的全部课程的学生学号。SELECT SNO FROM Student WHERE NOT EXISTS(SELECT*FROM SC SCX WHERE SCX.SNO=1001 AND NOT EXISTS(SELECT*FROM SC SCY WHERE SCY.SNO=Student.SNO AND SCY.cno=SCX.cno);结果:度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非

19、空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐-7/25 1001 1002 4)查询选修了张星老师开设的全部课程的学生姓名。SELECT SNAME FROM Student WHERE NOT EXISTS(SELECT*FROM Course WHERE TNO IN(SELECT TNO FROM Teacher WHERE TNAME=张星)AND NOT EXISTS(SELECT*FROM SC WHERE SC.SNO=Student.SNO AND SC.CNO=Cou

20、rse.CNO);结果:刘茜 马朝阳 出现的问题及解决方案:1.在创建基本表时是否可以缺省主码?可以。在定义基本表时可以定义主码也可以先不定义主码。2.对基本表进行修改,执行 ALTER TABLE Student MODIFY Sage SMALLINT 显示执行失败。当基本表中没有数据时,KingbaseES 允许对基本表的属性类型进行修改,如上述修改 可以写成 ALTER TABLE Student ALTER COLUMN SAGE SMALLINT,执行成功。但如果基本表中已经存有数据时,系统则会给出数据将丢失的警告,不允许进行属性类型的修改。3.在 SQL Server 中没有提供

21、删除属性列的语句,KingbaseES 则支持删除属性列。如果要在基本表 Student 上删除属性列 SNAME,可以执行 ALTER TABLE Student DROP SNAME。题目:度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于 实验二(2)交互式 SQL 语言 姓名 Vivian 日期 2005-1-1 实验内容及完成情况:

22、(写出每一种类型的 SQL 测试用例)(一)数据定义 一、基本表操作 1.建立基本表 1)创建供应商表 S,由以下属性组成:供应商号 SNO(CHAR 型),供应商姓名 SNAME(CHAR 型),供应商状态 STATUS(CHAR 型),供应商所在城市 CITY(CHAR 型)。CREATE TABLE S(SNO CHAR(3),SNAME CHAR(10),STATUS CHAR(2),CITY CHAR(10);2)创建零件表 P,由以下属性组成:零件代码 PNO(CHAR 型),零件名 PNAME(CHAR 型),颜色 COLOR(CHAR 型),重量 WEIGHT(INT 型)。C

23、REATE TABLE P(PNO CHAR(3),PNAME CHAR(10),COLOR CHAR(4),WEIGHT INT);3)创建工程项目表 J,由以下属性组成:工程项目代码 JNO(CHAR 型),工程项目名 JNAME(CHAR 型),工程项目所在城市 CITY(CHAR 型)。CREATE TABLE J(JNO CHAR(3),JNAME CHAR(10),CITY CHAR(10);4)创建供应情况表 SPJ,由以下属性组成:供应商代码 SNO(CHAR 型),零件代码 PNO(CHAR 型),工程项目代码 JNO(CHAR 型),供应数量 QTY(INT 型)。CREA

24、TE TABLE SPJ(SNO CHAR(3),PNO CHAR(3),JNO CHAR(3),QTY INT);2.修改基本表 1)在 P 表中加入属性零件产地 CITY(CHAR 型)。ALTER TABLE P ADD CITY CHAR(10);2)将 P 表中的属性 度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐

25、-9/25 WEIGHT 类型改为 SMALLINT 型。ALTER TABLE P ALTER COLUMN WEIGHT SMALLINT;3)删除刚才在 P 表中加入的零件产地 CITY 属性。ALTER TABLE P DROP CITY;3.删除基本表 1)在所有操作结束后删除 S 表。DROP TABLE S;2)在所有操作结束后删除 P 表。DROP TABLE P;3)在所有操作结束后删除 J 表。DROP TABLE J;4)在所有操作结束后删除 SPJ 表。DROP TABLE SPJ;二、索引操作 1.建立索引 1)在 S 表上建立关于 SNO 的唯一索引。CREATE

26、UNIQUE INDEX supply_sno ON S(SNO);2)在 J 表上建立关于 JNO 升序的唯一索引。CREATE UNIQUE INDEX project_jno ON J(JNO);2.删除索引 1)删除 S 表上的索引 supply_sno。DROP INDEX supply_sno;2)删 除 J 表 上 的 索 引 project_jno。DROP INDEX project_jno;三、视图操作 1.建立视图 在插入数据的 S,P,J,SPJ 基本表上为三建工程项目记录建立一个视图 V_SPJ,包括供应 商代码 SNO,零件代码 PNO,供应数量 QTY。CREAT

27、E VIES V_SPJ AS SELECT SNO,PNO,QTY FROM SPJ WHERE JNO=(SELECT JNO FROM J WHERE JNAME=三建);2.根据视图度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于完成查询 1)查询三建工程项目中供应商 S1 的供应情况。SELECT PNO,QTY FROM V_S

28、PJ WHERE SNO=S1;查询结果为:P1 200 2)查询三建工程项目使用的各种零件代码及其数量。SELECT PNO,QTY FROM V_SPJ;查询结果为:P1 200 P3 400 P5 400 P1 200 P3 200 P5 100 P3 200 3.删除视图 在操作结束后删除视图 V_SPJ。DROP VIEW V_SPJ;(二)数据操作 一、更新操作 1.插入数据 1)向 S 表插入下列数据:S1,精益,20,天津 S2,盛锡,10,北京 S3,东方红,30,北京 S4,丰 泰 盛,20,天 津 S5,为 民,30,上 海 INSERT INTO S VALUES(S1

29、,精 益,20,天 津);INSERT INTO S VALUES(S2,盛 锡,10,北 京);INSERT INTO S VALUES(S3,东方红,30,北京);INSERT INTO S VALUES(S4,丰泰盛,20,天津);INSERT INTO S VALUES(S5,为民,30,上海);2)向 P 表插入下列数据:P1,螺母,红,12 P2,螺栓,绿,17 P3,螺丝刀,蓝,14 P4,螺丝刀,红,14 P5,凸 轮,蓝,40 P6,齿 轮,红,30 INSERT INTO P VALUES(P1,螺 母,红,12);INSERT INTO P VALUES(P2,螺 栓,绿

30、,17);INSERT INTO P VALUES(P3,螺 丝 刀,蓝,14);INSERT INTO P VALUES(P4,螺 丝 刀,红,14);INSERT INTO P 度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐-11/25 VALUES(P5,凸 轮,蓝,40);INSERT INTO P VALUES(P

31、6,齿轮,红,30);3)向 J 表插入下列数据:J1,三建,北京 J2,一汽,长春 J3,弹簧厂,天津 J4,造船厂,天津 J5,机车厂,唐山 J6,无线电厂,常州 J7,半导体厂,南京 INSERT INTO J VALUES(J1,三 建,北 京);INSERT INTO J VALUES(J2,一 汽,长 春);INSERT INTO J VALUES(J3,弹 簧 厂,天 津);INSERT INTO J VALUES(J4,造 船 厂,天 津);INSERT INTO J VALUES(J5,机 车 厂,唐 山);INSERT INTO J VALUES(J6,无 线 电 厂,常

32、州);INSERT INTO J VALUES(J7,半导体厂,南京);4)向 SPJ 表插入下列数据:S1,P1,J1,200 S1,P1,J3,100 S1,P1,J4,700 S2,P3,J1,400 S1,P2,J2,100 S2,P3,J2,200 S2,P3,J4,500 S2,P3,J5,400 S2,P5,J1,400 S2,P5,J2,100 S3,P1,J1,200 S3,P3,J1,200 S4,P5,J1,100 S4,P6,J3,300 S4,P6,J4,200 S5,P2,J4,100 S5,P3,J1,200 S5,P6,J2,200 S5,P6,J4,500 I

33、NSERT INTO SPJ VALUES(S1,P1,J1,200);INSERT INTO SPJ VALUES(S1,P1,J3,100);INSERT INTO SPJ VALUES(S1,P1,J4,700);INSERT INTO SPJ VALUES(S1,P2,J2,100);INSERT INTO SPJ 度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯

34、一索引最新资料推荐在表上建立关于VALUES(S2,P3,J1,400);INSERT INTO SPJ VALUES(S2,P3,J2,200);INSERT INTO SPJ VALUES(S2,P3,J4,500);INSERT INTO SPJ VALUES(S2,P3,J5,400);INSERT INTO SPJ VALUES(S2,P5,J1,400);INSERT INTO SPJ VALUES(S2,P5,J2,100);INSERT INTO SPJ VALUES(S3,P1,J1,200);INSERT INTO SPJ VALUES(S3,P3,J1,200);INSE

35、RT INTO SPJ VALUES(S4,P5,J1,100);INSERT INTO SPJ VALUES(S4,P6,J3,300);INSERT INTO SPJ VALUES(S4,P6,J4,200);INSERT INTO SPJ VALUES(S5,P2,J4,100);INSERT INTO SPJ VALUES(S5,P3,J1,200);INSERT INTO SPJ VALUES(S5,P6,J2,200);INSERT INTO SPJ VALUES(S5,P6,J4,500);2.修改数据 1)将全部红色零件的颜色改成蓝色。UPDATE P SET COLOR=蓝

36、WHERE COLOR=红;2)将由 S5 供给 J4 的零件 P6 改成由 S3 供应。UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6;3.删除数据 从供应商关系 S 中删除 S2 的纪录,并从供应情况关系 SPJ 中删除相应的纪录。DELETE FROM SPJ WHERE SNO=S2;DELETE FROM S WHERE SNO 度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性

37、型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐-13/25 =S2;二、查询操作 1.单表查询 1)找出所有供应商的姓名和所在城市。SELECT SNAME,CITY FROM S;查询结果为:精益 天津 盛锡 北京 东方红 北京 丰泰盛 天津 为民 上海 2)找出所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHT FROM P;查询结果为:螺母 红 12 螺丝 绿 17 螺丝刀 蓝 14 螺丝刀 红 14 凸轮 蓝 40 齿轮 红 30 3)查询供应工程 J1 零件的供应商号码 SN

38、O。SELECT SNO FROM SPJ WHERE JNO=J1;查询结果为:S1 S2 S2 S3 S3 S4 S5 4)查询供应工程 J1 零件 P1 的供应商号码 SNO。SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO=P1;查询结果为:S1 S3 2.连接查询 1)查询供应工程 J1 零件为红色的供应商号码 SNO。SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红;查询结果为:S3 S1 2)查询工程项目 J2 使用的各种零件的名称及其数量。SELECT P.PNAME

39、,SPJ.QTY FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2;查询结果为:螺栓 100 螺丝刀 200 凸轮 100 齿轮 200 3)查询使用上海度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于产的零件的工程名称。SELECT JNAME FROM J,SPJ,S WHERE J.JNO=S

40、PJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=上海;查询结果为:三建 一汽 造船厂 造船厂 3.嵌套查询 1)查询供应工程 J1 零件为红色的供应商号码 SNO。SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO IN(SELECT PNO FROM P WHERE COLOR=红);查询结果为:S1 S3 2)查询没有使用天津供应商生产的红色零件的工程号 JNO。SELECT JNO FROM J WHERE NOT EXISTS(SELECT*FROM SPJ,S,P WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S

41、.SNO AND SPJ.PNO=P.PNO AND S.CITY=天津 AND P.COLOR=红);查询结果为:J2 J5 J6 J7 3)查询至少用了供应商 S1 所提供的全部零件的工程号 JNO。SELECT DISTINCT JNO FROM SPJ SPJZ WHERE NOT EXISTS(SELECT*FROM SPJ SPJX WHERE SNO=S1 AND NOT EXISTS(SELECT*FROM SPJ SPJY WHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO);查询结果为:J4 4)查询上海厂商供应的所有零件号码。SEL

42、ECT DISTINCT PNO FROM SPJ WHERE SNO IN(SELECT SNO FROM S WHERE CITY=上海);查询结果为:度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于-最新资料推荐-15/25 P2 P3 P5 P6 5)查询使用上海产的零件的工程名称。SELECT JNAME FROM J WHERE

43、 JNO IN(SELECT JNO FROM SPJ,S WHERE SPJ.SNO=S.SNO AND S.CITY=上海);查询结果为:三建 一汽 造船厂 6)查询没有使用天津产的零件的工程号码。SELECT JNO FROM J WHERE NOT EXISTS(SELECT*FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN(SELECT SNO FROM S WHERE CITY=天津);查询结果为:J5 J6 J7 出现的问题及解决方案:1.在创建基本表时是否可以缺省主码?可以。在定义基本表时可以定义主码也可以先不定义主码。2.对基本表进行修改时,执行

44、 ALTER TABLE P MODIFY WEIGHT SMALLINT 显示执行失败。当基本表中没有数据时,KingbaseES 允许对基本表的属性类型进行修改,如上述修改 可以写成 ALTER TABLE P ALTER COLUMN WEIGHT SMALLINT,执行成功。但如果基本表中已 经存有数据时,系统则会给出数据将丢失的警告,不允许进行属性类型的修改。3.在 SQL Server 中没有提供删除属性列的语句,KingbaseES 则支持删除属性列。如果需要在基本表 S 上删除属性列 SNAME,可以执行 ALTER 度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非

45、空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于TABLE S DROP SNAME。题目:实验二(3)交互式 SQL 语言 姓名 Vivian 日期 2005-1-1 实验内容及完成情况:(写出每一种类型的 SQL 测试用例)本实验中的表名、属性名全部用中文。(一)数据定义 一、基本表操作 1.建立基本表 1)创建仓库表,由以下属性组成:仓库号(CHAR 型),城市(CHAR 型),面积(INT

46、型)。其中仓库号为主码,并且有面积 0 的限定条件。CREATE TABLE 仓库(仓库号 CHAR(5)PRIMARY KEY,城市 CHAR(10),面积 INT CHECK(面积 0);2)创建职工表,由以下属性组成:仓库号(CHAR 型),职工号(CHAR 型),工资(INT 型)。其中职工号为主码,仓库号为外码,工资的限定条件为 1000=工资=5000,并且设定 缺省值为 1200。CREATE TABLE 职工(仓库号 CHAR(5)REFERENCES 仓库(仓库号),职工号 CHAR(5)PRIMARY KEY,工资 INT CHECK(工资=1000 AND 工资=5000

47、)DEFAULT 1200);或者:CREATE TABLE 职工(仓库号 CHAR(5),职工号 CHAR(5)PRIMARY KEY,工资 INT CHECK(工资=1000 AND 工资=5000)DEFAULT 1200,FOREIGN KEY(仓库号)REFERENCES 仓库(仓库号);3)创度为所在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在

48、表上建立关于-最新资料推荐-17/25 建供应商表,由以下属性组成:供应商号(CHAR 型),供应商名(CHAR 型),地址(CHAR 型)。其中供应商号为主码。CREATE TABLE 供应商(供应商号 CHAR(5)PRIMARY KEY,供应商名 CHAR(20),地址 CHAR(20);4)创建订购单表,由以下属性组成:职工号(CHAR 型),供应商号(CHAR 型),订购单 号(CHAR 型),订购日期(CHAR 型)。其中订购单号为主码,职工号和供应商号为外码,订购 日期的缺省值为当前系统日期。CREATE TABLE 订购单(职工号 CHAR(5)NOT NULL REFEREN

49、CES 职工,供应商号 CHAR(5)REFERENCES 供应商,订购单号 CHAR(5)PRIMARY KEY,订购日期 DATE DEFAULT NOW();2.修改基本表 1)往订购单表中增加一个新的属性完成日期,DATE 型,并且允许为空值。ALTER TABLE 订购单 ADD 完成日期 DATE;2)将职工表中的工资属性类型改为 SMALLINT 型。ALTER TABLE 职工 ALTER COLUMN 工资 SMALLINT;3)删除刚才在订购单表中加入的完成日期 属性。ALTER TABLE 订购单 DROP 完成日期;3.删除基本表 1)在所有操作结束后删除仓库表。度为所

50、在系型创建课程表由以下属性组成课程号型课程名型长度为非空授课教师编号型学分型其中为主码创建学生选名型长度为非空所在系型创建系表由以下属性系号型主码系名型长度为非空修改基本表在表中加入属性型将表中的属结束后删除表在所有操作结束后删除表二索引操作建立索引在表上建立关于的唯一索引最新资料推荐在表上建立关于 DROP TABLE 仓库;2)在所有操作结束后删除职工表。DROP TABLE 职工;3)在所有操作结束后删除供应商表。DROP TABLE 供应商;4)在所有操作结束后删除订购单表。DROP TABLE 订购单;二、索引操作 1.建立索引 1)在订购单表上建立关于供应商号的普通索引。CREAT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁