77范文网 - 专业文章范例文档资料分享平台

数据库题库

来源:网络收集 时间:2018-11-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一、单选题

1、若要将学生张三所在的系从“计算机系”改为“信息系”,正确的语句是

A. UPDATE Student SET sdept = '计算机系' WHERE Sname='张三' AND sdept='信息系' B. UPDATE Student SET sdept = '计算机系' WHERE Sname='张三'

C. UPDATE Student SET sdept = '信息系' WHERE Sname='张三' AND sdept='计算机系' D. UPDATE Student SET sdept = 信息系' WHERE Sname='张三' 2、数据库三级模式结构中用于描述表结构的是 A. 外模式 B. 模式 C. 内模式 D. 数据库文件

3、设工资列的数据要求小数点后保留2位,小数点前保留4位,下列类型中最合适的是 A. float B. numeric(7,2) C. float(6,2) D. numeric(6,2)

4、下列查询语句中,能够正确执行的是 A. SELECT Sno,Sname FROM SC GROUP BY Sno

B. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 3 C. SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3 D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*) > 3

5、语句“SELECT * FROM Student WHERE sage BETWEEN 20 AND 25”的作用是 A. 查询年龄大于20并且小于25的学生

B. 查询年龄大于等于20并且小于等于25的学生 C. 查询年龄大于20并且小于等于25的学生 D. 查询年龄大于等于20并且小于25的学生 6、下述属于SQL数据操作功能的语句是 A. CREATE B. DELETE C. DROP D. ALTER

7、下列属于数据独立性的是

A.概念独立性 B.逻辑独立性 C.安全独立性 D.组织独立性

8、当数据的存储位置或存储结构发生变化时,可以不影响应用程序的特性,这属于数据库的

A.概念独立性 B.逻辑独立性 C.物理独立性 D.组织独立性 9、如果不允许学生转校,则学校和学生之间的联系是 A.一对一 B.一对二 C.一对多 D.多对多 10、下列不属于数据完整性约束的是

A.实体完整性 B.参照完整性 C.数据独立性 D.用户定义的完整性 11、二维表结构是

A. 关系数据库采用的概念层数据模型 B. 关系数据库采用的组织层数据模型 C. 数据库文件对数据的组织方式 D. 内模式采用的数据的组织方式

12、下列关于外键的说法,正确的是

A.外键必须与所引用的列类型相同,但长度可以不一样 B.外键与所引用的列的类型没有关系

C.外键所引用的列可以和外键在同一个表中 D.外键所引用的列必须在另一个表中

13、对于nvarchar数据类型,下列说法正确的是 A. 最多可以存储长度为8000个汉字的数据 B. 最多可以存储长度为4000个汉字的数据

C. 最多可以存储长度为2000个汉字的数据 D. 存储数据的大小没限制 14、“图书”表中价格列是一个定点小数,小数点前3位,小数点后保留1位。下列类型中最合适的是

A. numeric(3,1) B. numeric(4,1) C. numeric(5,1) D. float

15、语句“SELECT * FROM Student WHERE sdept not in (’cs’,’is’)”的功能是 A.查询“cs”系和“is”系两个系的学生 B. 查询不是“cs”系但是“is”系的学生 C. 查询是“cs”系但不是“is”系的学生 D. 查询既不是“cs”系也不是“is”系的学生

16、现要将张三的年龄改为20,系改为计算机系,下列语句中正确的是 A.update student set sage = 20,set sdept = '计算机系' where sname = '张三' B. update student set sage = 20,sdept = '计算机系' where sname = '张三' C. update student set sage = 20, update sdept = '计算机系' where snam 17、关系数据库中模式和内模式间的映像提供的独立性是 A.存储数据 B. 逻辑数据 C.数据结构 D. 数据文件 18、SQL语言中计算列值平均值的聚合函数是 A.SUM B.COUNT C.MAX D.AVG

19、在SELECT语句中,用来限制查询结果集行数的谓词是 A.COUNT B.SUM C.TOP D.BOTTOM

20、一个电视经销商在表TVType中维护其库存的电视机(TVs)的详细信息。 下列能够正确显示价格最贵的前三种电视机信息的语句是

A、SELECT TOP 3 cDescription FROM TVType ORDER BY iPrice asc B、SELECT TOP 3 cDescription FROM TVType ORDER BY iPrice desc C、SELECT cDescription FROM TVType where max(iPrice) > 3

D、SELECT cDescription, max(iPrice) FROM TVType ORDER BY iPrice 21、已知SN是一个字符类型的字段,有查询语句:SELECT SN FROM S WHERE SN LIKE 'AB%' 该查询语句的执行结果是

A. 含有3个字符‘AB%’的所有SN字段

B. 仅含有3个字符且前两个为‘AB’的SN字段 C. 以字符串‘AB’开始的所有SN字段 D. 含有字符‘A’或‘B’的所有SN字段

23、下列关于关系数据库的操作特点的说法,正确的是 A. 需要指明操作的要求和操作的实现过程

B. 需要指明操作的要求,但不需要指明操作的实现过程 C. 需要指明操作的实现过程,但不需要指明操作的要求 D. 对操作要求和操作实现过程都不需要指明 24、下列关于关系数据库表的说法,错误的是 A. 关系表中的每一列是不可再分的基本属性 B. 关系表中的各属性不能重名。 C. 关系表中行的顺序不重要 D. 关系表中行的顺序很重要

25、设有关系R,现要按条件f对关系R进行选择运算,正确的是 A.R∞fR B.∏f(R) C.бf(R) D.Uf(R)

26、Numeric(p, q),其中p是指 A.小数点左右两边数字位个数之和

B.小数点左右两边数字位个数之和加上1位小数点 C.小数点左边数字位个数 D.小数点右边数字位个数

27、数据库管理系统(DBMS)是

A.教学软件 B.应用软件 C.计算机辅助设计 D.系统软件 28、数据库中的外模式对应

A.数据库文件 B. 关系表 C.视图 D. 操作系统文件 29、下列不属于数据库特点的是 A. 程序和数据相互独立 B. 能保证数据正确性

C. 提供用户对数据文件的直接操作 D. 支持多个用户同时修改数据

30、在E-R模型中,联系所关联的实体

A. 只能是两个 B. 必须至少是两个 C. 可以是一个 D. 必须至少有三个 31、下列聚合函数中,不忽略空值的是

A. SUM(列名) B. MAX(列名) C. AVG(列名) D. COUNT(*) 32、匹配0到多个字符的通配符是 A. * B. % C. _ D. ?

33、下列对关系的描述,错误的是 A.表中列的数据类型可以不固定

B.关系表中的每一列都是不可再分的基本属性 C.表中各属性不能重名,任意两行不能完全相同 D.表中的行、列次序无关

34、下列不属于SQL语言功能的是

A.数据定义功能 B.数据查询功能 C.数据控制功能 D.数据通信功能 35、数据库中数据的物理独立性是指 A.内模式变化时应用程序可以不变 B.应用程序变化时,内模式保持不变 C.模式变化时应用程序可以不变 D. 外模式变化时应用程序可以不变

36、关系数据库采用的组织层数据模型是

A.实体-联系图 B. 二维表 C.二叉树 D. 图 37、数据库系统的独立性是指

A.不会因为数据的变化而影响应用程序

B. 不会因为系统数据的存储结构和逻辑结构的变化而影响应用程序 C. 不会因为数据存储策略的变化而影响应用程序

D. 不会因为某些数据的逻辑结构变化而影响应用程序 38、数据库中数据的逻辑独立性是指 A. 当内模式发生变化时,模式可以不变 B. 当内模式发生变化时,外模式可以不变 C. 当模式发生变化时,外模式可以不变 D. 当模式发生变化时,内模式可以不变

39、下述对出生日期进行比较的表达式中,正确的是 A.出生日期 >‘1980/1/1’ B. 出生日期 > 1980/1/1 C. 出生日期 > 1980:1:1 D. 出生日期 > ‘1980:1:1’ 40、数据的完整性包括

A.数据结构完整、数据操作完整和数据实现完整 B.数据静态结构和数据的动态结构的完整性 C.外模式、模式和内模式的完整性

D.实体完整性、参照完整性和用户定义的完整性 41、数据库系统的核心是

A、数据模型 B、数据库管理系统 C、软件工具 D、数据库

42、要从student表中查出学号(sno)最后一位是0、1和5的学生的信息,正确的查询语句为: select * from student where

A.sno like '015' B.sno like '5' C.sno like '%[015]' D.sno like '%[^015]' 43、R和S为两个基本表,“R JOIN S ON R.列1=S.列2”,要使操作有意义,列1和列2必须 A. 列名相同 B. 数据类型相同 C. 语义相同 D. 列名和类型均相同 44、在关系数据库系统中,产生数据不一致的根本原因是

A.数据存储量太大 B. 没有严格的保护数据 C.未对数据进行完整性控制 D. 数据冗余

45、设有关系R(A,B,C)和S(B,C,D)。下列关系代数表达式中不成立的是 A. ∏A(R)×∏D(S) B. R∪S C. ∏C(R)∩∏C(S) D. R∞S

46、假设考试成绩的取值范围为0~150的整数,则最合适的数据类型是 A. tinyint B.int C.numeric(3,0) D. numeric(4,1)

47、数据库的外模式和模式间的映像提供的独立性是

A.存储数据 B. 逻辑数据 C.数据结构 D. 数据文件 48、数据模型的三要素是

A.外模式、模式和内模式 B. 实体完整性、参照完整性和用户定义的完整性 C. 数据、关系表和数据库 D. 数据结构、数据操作和数据完整性约束 49、下列不属于组织层数据模型的是

A.关系模型 B.实体-联系模型 C.层次模型 D.网状模型 50、在SQL语句中,下列不属于数据定义功能的动词为 A. CREATE B.DROP C.SELECT D.ALTER 51、要从student表中查出不姓“张”和“李”的学生信息(学生的姓名对应的字段为sname),正确的查询语句为:select * from student where

A.sname not like '[张李]%' B.sname like '[张李]%' C.sname not like '张李%' D.sname not like '[张李]' 52、设有图书表,结构如下:Books(cBookId ,cBookName ,cBookCategory,cAuthorName ,iPages,iPrice) 下列查询语句中,能够按书名的字母升序顺序显示书名及其价格的是 A、SELECT * FROM Books ORDER BY cBookName ASC

B、SELECT cBookName, iPrice FROM Books ORDER BY cBookName ASC C、SELECT * FROM Books ORDER BY cBookName DESC

D、SELECT cBookName, iPrice FROM Books ORDER BY cBookName DESC 53、设R和S为两个基本表,“FROM R RIGHT JOIN S ON R.某列=S.某列”表示

A. 不要求R中的数据满足连接条件 B. 不要求S中的数据满足连接条件 C. 同时要求S和R中的数据均满足连接条件 D. S和R中的数据均可不满足连接条件 54、关于关系,下列说法中正确的是 Ⅰ.关系中的每一个属性都是不可再分解的 Ⅱ.关系中不允许出现取值完全相同的元组 Ⅲ.可以不考虑关系中各元组的顺序 Ⅳ.可以不考虑关系中各属性的顺序

A. 仅Ⅰ和Ⅲ B. 仅Ⅲ和Ⅳ C. 仅Ⅰ、Ⅱ和Ⅲ D. 全部 55、下列关于实体完整性的说法,错误的是

A.实体完整性是保证关系中的每个元组都是可识别的和唯一的 B.关系数据库中所有的表都必须有主键

C.关系数据库的表中不允许存在无主键值的记录 D.关系数据库的表中允许存在主键值相同的记录 56、下列关于参照完整性的说法,错误的是 A.参照完整性也称为引用完整性

B.参照完整性一般指多个实体之间的关联关系 C.外键值不允许为空

D.参照完整性一般用外键实现

57、关系数据库中的数据完整性是指 A. 数据的正确性 B. 数据的独立性、可控性 C. 数据的一致性 D. 数据的有效性和相容性 58、下列关于概念数据模型的说法,正确的是

A. 是对现实世界进行建模 B. 是对信息世界进行建模 C. 与具体的数据库管理系统有关 D. 与具体的操作系统有关

59、DBMS中对数据库中的数据进行插入、删除和修改等这类功能称为 A.数据定义功能 B.数据操作功能 C.数据管理功能 D.数据控制功能 60、在SQL中,下列涉及空值的操作,错误的是

A、AGE IS NULL B、AGE IS NOT NULL C、AGE = NULL D、NOT (AGE IS NULL) D. 与具体的操作系统有关

63、下列查询年龄最大的学生姓名的SQL语句,正确的是 A. SELECT SNAME FROM STUDENT WHERE SAGE = MAX(SAGE) B. SELECT SNAME FROM STUDENT WHERE MAX(SAGE) = SAGE C. SELECT TOP 1 SAGE FROM STUDENT

D. SELECT SNAME FROM STUDENT WHERE SAGE =(SELECT MAX(SAGE) FROM STUDENT 64、在关系数据库中,主键的作用是

A.实现参照完整性 B.限制列的取值 C.实现域的完整性 D.实现实体完整性 65、字符串匹配中“[]'通配符的作用是 A. 匹配括号中的任何一个字符 B. 匹配括号中的全部字符 C. 匹配括号中的0到多个字符 D. 不匹配括号中的任何1个字符 66、通配符“%”表示 A、代表一个字符

B、代表零个或多个字符 C、表示在某一范围的字符 D、表示不在某一范围的字符

67、在关系数据库中,不同表之间的数据冗余最易造成的问题是

A.增、删、改操作异常 B. 查询异常 C. 插入异常 D. 数据不一致 68、下列关于数据库管理系统的说法,错误的是

A.数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件 B.数据库管理系统位于用户应用程序与操作系统软件之间

C.数据库管理系统需要操作系统的支持以实现对数据库文件的操作 D.数据库管理系统是计算机的基础软件之一

69、如果实体A与实体B之间是多对多联系,为描述两个实体之间的关联关系,添加了联系C来关联实体A和B,添加联系C的作用是

A.简化以后的查询操作 B.方便数据的修改操作 C.将多对多联系转化为一对多联系 D.方便以后建立用户视图 70、“_”通配符的作用是

A. 匹配1个汉字字符 B. 匹配1个英文字符 C. 匹配1个任意字符 D. 匹配0到1个任意字符 71、数据库中的模式对应

A. 数据库文件 B. 关系表 C.视图 D. 操作系统文件

72、一个大学有许多学科,学生在完成相应学科的所有课程之后可以毕业。设一个学生只能就读一个学科。有一些课程是几个学科的公共课程。该大学用SQL Server数据库维护课程(Course)、学科(Discipline)和学生(Student)的详细信息。 下列关于该系统的逻辑模型的说法,正确的是

A、实体Course 和 Student 之间的联系是多对一 B、实体 Course 和Discipline 之间的联系是多对多 C、实体 Discipline 和 Student之间的关系是一对一 D、实体Course 和Discipline 之间的关系是一对多 73、数据库的三个模式两个映象提供了 A. 应用程序和数据的逻辑独立性 B. 应用程序和数据的物理独立性

C. 应用程序和数据的逻辑独立性和物理独立性 D. 应用和数据的存储独立性和物理独立性 74、若用类型为char(6)的变量存储‘ABC’,占有的存储空间为 A. 3个字节 B. 6个字节 C. 12个字节 D. 不确定 75、下列不属于SQL Server数值类型的是

A.float B.binary C.money D.tinyint

76、查找全部不姓“张”和不姓“刘”的学生姓名,正确的语句是 A.SELECT SNAME FROM Student WHERE SNAME NOT LIKE '张刘%' B. SELECT SNAME FROM Student WHERE SNAME NOT LIKE '[张,刘]%' C. SELECT SNAME FROM Student WHERE SNAME LIKE '^[张刘]%' D. SELECT SNAME FROM Student WHERE SNAME LIKE '[^张刘]% 77、在SQL Server中,在表中添加一个新列的正确SQL语句是 A. ALTER TABLE ADD COLUMN 新列名 数据类型 B. ALTER TABLE ADD 新列名 数据类型

C. ALTER TABLE ALTER COLUMN 新列名 数据类型 D. ALTER TABLE MODIFY COLUMN 新列名 数据类型

78、现有雇员表,结构为:雇员表(雇员号,姓名,所在部门,年龄)。现要统计每个部门的雇员的平均年龄,希望查询结果是按平均年龄从高到低的顺序排列,并且只取平均年龄最

大的前3个部门。完成此功能的查询语句为

A. SELECT TOP 3 WITH TIES 所在部门,AVG(年龄) 平均年龄 FROM 雇员表 ORDER BY 平均年龄

B. SELECT TOP 3 WITH TIES 所在部门,AVG(年龄) 平均年龄 FROM 雇员表 GROUP BY 所在部门

C. SELECT TOP 3 WITH TIES 所在部门,AVG(年龄) 平均年龄 FROM 雇员表 GROUP BY 所在部门 ORDER BY 平均年龄

D. SELECT TOP 3 WITH TIES 所在部门,AVG(年龄) 平均年龄 FROM 雇员表 GROUP BY 所在部门 ORDER BY 平均年龄 DESC

79、设有课程表:C (课程号,课程名称,授课教师)、学生表:S (学生号,姓名,性别,年龄)和选课表SC(课程号,学生号,成绩)。如果要查询选了“数据结构”女学生的姓名,涉及到的表有

A. 仅S B. 仅SC和C C. 仅S和SC D. S、C和SC 80、DISTINCT子句的作用是

A. 去掉DISTINCT词后边列的重复值 B. 去掉某表中的重复行数据 C. 去掉查询结果中的重复行数据 D. 去掉一个列的数据 82、关系数据库管理系统应能实现的专门关系运算包括 A、排序、索引、统计 B、选择、投影、连接 C、关联、更新、排序 D、显示、打印、制表 83、下列构成数据库系统组成部分的是

A. 数据库、数据库管理系统、系统管理员和应用程序 B. 数据库、数据库管理系统和操作系统 C. 操作系统、文件管理系统和数据库系统 D. 数据库系统管理员、数据库管理系统

84、某表中有“年龄”列,下列数据类型中最合适的是 A. int B. tinyint C. Bigint D. numeric(4,1)

85、数据库中数据的逻辑独立性为 的编写和维护提供了方便

A.数据库管理系统 B.应用程序 C.操作系统 D.数据库 86、DBMS的含义是

A、数据库系统 B、数据库管理员 C、数据库管理系统 D、数据库 87、在WHERE子句的条件表达式中,匹配单个字符的通配符是 A. * B. % C. _ D. ?

88、有如下关系:考试情况表(学号,课程号,考试次数,成绩)。假设一个学生可以多次参加同一门课程的考试。则此关系的主键是

A.(学号,课程号) B.(课程号,考试次数)

C.(学号,考试次数) D.(学号,课程号,考试次数) 89、子句:WHERE 姓名 like ’[张王李]_’ 的作用是 A. 查询姓“张”或姓“王”或姓“李”的人

B. 查询姓“张”或姓“王”或姓“李”且名字为两个字的人 C. 查询名字中有“张”或“王”或“李”的人

D. 查询名字中有“张”或“王”或“李”的两个字的人 90、概念数据模型包含的内容是

A.内模式、模式和外模式 B. 实体、属性以及实体间的联系 C.表和视图 D. 数据库管理系统和数据库

91、下列关于外键的描述,正确的是

A、外键一定要与相应的主键同名而且唯一

B、外键一定要与相应的主键同名,但并不一定唯一 C、外键并不一定要与相应的主键同名且不一定唯一 D、外键类型可以与相应的主键不同

92、设student表中存放了学生的信息,要从student表中查出姓名(sname)的第二个字是“光”或\明\的学生的信息,正确的查询语句为: select * from student where A.sname LIKE '_光明%' B.sname LIKE '_[光明]%' C.sname LIKE '_^光明%' D.sname LIKE '_[^光明]%'

93、下列选项中,用于描述单个用户使用的数据视图的是 A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 94、DB(数据库)、DBMS(数据库管理系统)和DBS(数据库系统)三者之间的关系是 A. DB包含DBMS和DBS B. DBS包含DB和DBMS C. DBMS包含DB和DBS D. DBS与DB、DBMS无关 95、下列不属于数据库系统特点的是

A.数据共享好 B. 具有数据完整性 C. 数据冗余高 D. 数据独立性高 96、进行并运算的两个关系必须是

A. 属性的语义、顺序及个数均相同的关系 B. 有公共属性的关系 C. 关系名相同的关系 D. 具有相同关键字的关系

97、nchar(10)数据类型的变量,最多可存储的汉字个数是 A. 5 B. 10 C. 20 D. 不能确定 二、语句题

1、Student(学生表) 字段名称 数据类型 长度 备注 含义

sno char 10 主键 学号sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩 。 针对以上各表,用SQL语句完成以下操作。

统计每个系VB课程的考试情况,列出系名和考试情况,其中考试情况为: 如果VB平均成绩大于等于90,则考试情况为“好”; 如果VB平均成绩在80~89分,则考试情况为“良好”; 如果VB平均成绩在70~79分,则考试情况为“一般”; 如果VB平均成绩低于70分,则考试情况为“较差”。 Select sdept系名 Case

When AVG(grade)>=90 then ‘好’

When AVG(grade) between 80 and 89 then’良好’ When AVG(grade) between70 and 79 then’一般’ When AVG(grade)<70 then’较差’

END AS 考试情况

From student s join sc on s.sno=sc.sno Where cname=’VB’

2、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 查询哪些课程没有人选,要求列出课程号和课程名。(请用子查询实现)

Select cno,cname from course

Where cno not in(select cno from sc)

3、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 引用顾客表的外键

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键,引用订单表的外键 商品编号 char 5 主键,引用商品表的外键 数量 int 默认值为1

针对以上各表,用SQL语句完成以下操作。 查询每种商品的订单数量,包括没有订单的商品。列出:商品编号和订单数量。

Select 商品.商品编号,count(distinct 订单编号)as订单数量 from

商品 left outer join 订单细节 on 商品.商品编号=订单细节.商品编号 Group by 商品.商品编号 4、已知“图书”表的结构如下: 列名 数据类型 长度 备注 书号 char 5 主键 书名 varchar 50 价格 numeric(10,2)

写出实现下列查询要求的SQL语句。 查询所有书籍信息,列出:书号、书名、价格和等级。其中“等级”根据价格决定:对价格小于等于20元的等级显示为“很便宜”,对价格小于等于50元且大于20元的等级显示为“中等”,对价格大于50元等级显示为:“很贵”。 Select 书号,书名,价格 Case

When 价格<=20 then’很便宜’

When 价格 between 20 and 50 then’中等’ When 价格>50 then’很贵’ END AS 等级 From 图书

5、此应用场景中主要包含以下几个关系:

1:影片专题信息(TSubject )关系,主要包括专题编号(SubjectID)、专题名称(SubjectName)、备注(SubjectMemo);

2:影片基本信息(TVideo)关系,主要包括影片编号(VideoID)、影片名称(VideoName)、导演

(VideoDirector)、上映时间(VideoTime)、主演(VideoActor)、影片海报(VideoPoster)、影片描述(VideoDesc)、集数(VideoEpisode )、价格(VideoPrice)、影片状态(VideoState)、备注(VideoMemo)、专题编号(SubjectID);

3:影片剧情基本信息(TVideoEpisode)关系,主要包括剧情编号(EpisodeID)、剧情集数(EpisodeNum)、播放地址(EpisodeURL)、备注(EpisodeMemo);、影片编号(VideoID);

根据上述做给关系,写出统计各专题的影片数量的查询语句,不包括影片数量少于5部(包括5部)的影片。(表名、列名均用给出的英文) Select SubjectID count(*)as影片数量 from

TSubject join TVideo on TSubject.SubjectID=TVideo.SubjectID Group by SubjectID Having count(*)>=5

6、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 删除计算机系VB成绩不及格学生的VB选课记录。

Delete from sc

Where sno in(select sno from student where=’计算机系’) and cno in(select cno from course where cname=’VB’) and grade<60

7、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 查询计算机系年龄最大的三个学生的姓名和年龄(包括并列情况)。

Select top 3 with ties sname, sage from student Where sdept=’计算机系’ Order by sage desc

8、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 删除信息管理系成绩小于50分的学生的修课纪录。(请用子查询实现) Delete from sc

Where sno in(select sno from student where sdept=’信息管理系’) And grade<50

9、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩 。 针对以上各表,用SQL语句完成以下操作。 查询计算机系哪些学生没有选课,列出学生姓名。(请用外连接实现) Select sname from

Student s left outer join sc on s.sno=sc.sno Where sdept=’计算机系’ and sc.sno is null

10、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩 针对以上各表,用SQL语句完成以下操作。 查询计算机系每个学生的VB考试情况,列出学号、姓名、VB成绩和成绩情况,其中成绩情况的显示规则为: 如果成绩大于等于90,则成绩情况为“好”; 如果成绩在80~89,则成绩情况为“较好”; 如果成绩在70~79,则成绩情况为“一般”; 如果成绩在60~69,则成绩情况为“较差”; 如果成绩小于60,则成绩情况为“差”。,列出学号、姓名、VB成绩和成绩情况,其中成绩情况的显示规则为: 如果成绩大于等于90,则成绩情况为“好”; 如果成绩在80~89,则成绩情况为“较好”; 如果成绩在70~79,则成绩情况为“一般”; 如果成绩在60~69,则成绩情况为“较差”; 如果成绩小于60,则成绩情况为“差”。 Select sno,sname,grade

Case

When grade>90 then’好’

When grade between 80 and 89 then’较好’ When grade between70 and 70 then’一般’ When grade between 60 and 69 then’较差’ When grade<60 then’差’ END AS 考试情况

From student s join sc on s.sno=sc.sno Join course c join sc on c.cno=sc.cno

Where sdept=’计算机系’and cname=’VB’ Group by sno

11、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩 。 针对以上各表,用SQL语句完成以下操作。 查询VB考试成绩最低的学生的姓名、所在系和VB成绩。

Select top 1 with ties sname,sdept,grade from Student s join sc on s.sno=sc.sno Join course c join sc on c.cno=sc.cno Where cname=’VB’ Order by grade desc

12、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩 。 针对以上各表,用SQL语句完成以下操作。 查询选课门数最多的前2位学生,列出学号和选课门数。

Select top 2 sno,count(*)选课门数 From sc

Group by sno

Order by count(*) desc

13、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩 。 针对以上各表,用SQL语句完成以下操作。 统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

Select sno,count(*)选课门数,sum(grade总成绩 from sc Group by sno

Order by count(*) ase

14、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100

针对以上各表,用SQL语句完成以下操作。 查询选修了“数据库”课程的学生信息,列出学号和姓名。(使用子查询实现) Select 学号,姓名 from 学生

Where 学号 in(select 学号 from 选课 where 课号in (select 课号 from 课程 where 课程名=’数据库’))

15、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100

针对以上各表,用SQL语句完成以下操作。 查询每门课的选课人数,显示课号及选课人数。(包括没有人选的课程)

Select 课程.课号,count(学号)as 选课人数

From 课程 left outer join 选课 on 课程.课号=选课.课号 Group by 课程.课号

16、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1 针对以上各表,用SQL语句完成以下操作。 查询商品名称中包括“电”的商品详细信息 Select * from商品 Where 商品名称 like ‘%电%’

17、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所

示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100 针对以上各表,

用SQL语句完成以下操作。 查询“数据库”课程的选课情况,列出学号、姓名、课程名、学分和成绩。

Select 学号,姓名,课程名,学分,成绩from 学生 join 选课 on 学生.学号=选课.学号 Join 课程 on 课程.课号=选课.课号 Where 课程名=’数据库’

18、'以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100

针对以上各表,用SQL语句完成以下操作。 查询姓“李”的学生的学号和姓名 Select 学号,姓名 from 学生 Where 姓名 like ‘%李%’

19、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。 Select sname,cno,grade from

Student s join sc on s.sno=sc.sno Where grade>80

Order grade by desc

20、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。

针对以上各表,用SQL语句完成以下操作。 修改高等数学的考试成绩,修改规则如下:如果是计算机系学生,则加10分;如果是信息管理系学生则加5分;如果是数学系学生则分数不变。

Update sc set grade=grade+ Case sdept

When ‘计算机系’ then 10 When ’信息管理系’ then 5 When ’数学系’ then 0 END

From student s join sc on s.sno=sc.sno Join course c on c.cno=sc,cno Where cname=’高等数学’

21、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1

针对以上各表,用SQL语句完成以下操作。 查询2012-12-1日的订单信息,显示:订单编号、下单日期、顾客姓名。

Select 订单编号,下单日期,顾客姓名 from

顾客 join 订单 on 顾客.顾客编号=订单.顾客编号 Where 下单日期=’2012-12-1’

22、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 查询平均成绩大于80的课程的课程名和学分。 Select cname,credit ,AVG(grade) from Course c join sc on c.cno=sc.cno Group by cno

Having AVG(grade)>80

23、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4

主键,引用课程表的外键 成绩 int 取值范围为:0~100 针对以上各表,,用SQL语句完成以下操作。 删除学号为“2012001001”的学生选课信息。 Delete from 选课

Where 学号=’2012001001’

24、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1

针对以上各表,用SQL语句完成以下操作。 将下列信息插入到商品表中。 商品编号 商品名称 单价 库存数量 10001 电视机 2000 20 insert into 商品 values(‘10001’,‘电视机’,2000,20)

25、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100

针对以上各表,用SQL语句完成以下操作。 查询学号为“2012001001”学生的考试成绩,结果按成绩降序排列,列出学号、姓名、课程名和成绩 Select 学号,姓名,课程名,成绩 from

学生.学号 join 选课 on 学生.学号=选课.学号 Join 课程.课号 on 课程.课号=选课.课号 Where 学生.学号=’2012001001’ Order by 成绩 desc

26、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键 课号 char 4 成绩 int 针对以上各表,用SQL语句完成以下操作。 查询选课人数在3人以上课程的平均成绩 Select 课号,AVG(成绩) from 选课 Group by 课号

Having count(课号)>3

27、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号

char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1

针对以上各表,用SQL语句完成以下操作。 查询商品种类数大于2的订单(即订单细节中大于2行的订单),列出:订单编号和商品种类数。

Select 订单编号,count(商品编号)as商品种类数 from 订单细节 Group by 订单编号 Having count(*)>2

28、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100

针对以上各表,用SQL语句完成以下操作。 查询成绩小于60的学生姓名、课程名及成绩 Select 姓名,课程名,成绩 from

学生.学号 join 选课 on 学生.学号=选课.学号 Join 课程.课号 on 课程.课号=选课.课号 Where 成绩<60

29、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1

针对以上各表,用SQL语句完成以下操作。 查询订购了“10001”号商品的所有订单,显示:订单编号和下单日期,结果按下单日期降序排列 Select 订单编号,下单日期 from Where 商品编号=’10001’ Order by 下单日期 desc

30、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值大于等于0

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1

针对以上各表,用SQL语句完成以下操作。 查询每个订单的商品总金额,列出:订单编号和总金额。

Select 订单编号,sum(单价*数量)as 总金额 from

商品.商品编号 join 订单细节 on 商品.商品编号=订单细节.商品编号 Group by 订单编号

31、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int

选课 字段名称 数据类型 长度 备注 学号 char 10 主键 课号 char 4 成绩 int 。 针对以上各表,用SQL语句完成以下操作。 将课号为“1001”的课程学分改为4 Update 课程 set 学分= 4 Where 课号=’10001’

32、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100 针对以上各表,用SQL语句完成以下操作。 将下列信息插入到学生表中 学号 姓名 性别 出生日期 2012001001 王五 男 1982-1-23

Insert into 学生 values (‘2012001001’,’王五’,’男’,’1982-1-23’) 33、已知一个数据表的结构如下,表名为“Product”。 列名 数据类型 长度 备注 描述 ProductID char 12 主键 商品编号 ProductName var char 50 商品名称 ProductPrice float 商品价格 ProductMemo Varchar 50 备注 由于供应商对商品的批发价格进行调整,现需对现行商品价格进行调整,规则如下:原价格小于10元上调8%,原价格大于30元上调6%,其它上调7%,请编写一段SQL脚本完成上述功能。 Update product set productprice Case

When productprice<10 then productprice*1.08 When productprice>30 then productprice*1.06 Else productprice*1.07 END

34、以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示:

Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系

Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期

SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用

Student的“sno” cno char 4 主键 课程号。外键,引用Course的“Cno” grade int 成绩。 针对以上各表,用SQL语句完成以下操作。 统计每个学生的选课门数,并按选课门数的递增顺序显示结果。

Select sno,count(*)选课门数 from sc Group by sno

Order by count(*) asc

35、以下是一个学生选课系统数据库中的三张表:学生表、课程表、选课表,表结构如下所示:

学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime

课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表的外键 课号 char 4 主键,引用课程表的外键 成绩 int 取值范围为:0~100

针对以上各表,用SQL语句完成以下操作。 查询选修了“数据库”课程的学生人数 Select count(*)学生人数 from

课程.课号 join 选课 on 课程.课号=选课.课号 Where 课程名=’数据库’ 三、建表题

1、设有以下场景,通信管理局(以下简称为通管局)需要掌握各运营商内部和各运营商之间的网络运行情况,必须定制常规任务对网络的运行状态进行测试,对于常规任务(TRegularTask)中主要包括以下内容:任务编号、任务名称、出口网卡地址、目的地址、任务开始时间、任务执行间隔、时延、备注。系统将根据常规任务生成每天的执行计划(TExecutionSetting),执行计划内容包括执行序号、任务编号、执行时间。并且根据要求是前一天晚上23:55分生成第二天的执行计划。出口网卡地址是存在出口网卡基本信息表(TAdapter)中,其主要记录以下内容:出口网卡地址(AdapterIP)、运营商名称(AdapterName)、网关(Gateway)、备注(Memo)。以上业务描述仅仅系统的一部分工作,根据以上描述。 常规任务基本信息表: TRegularTask 序号 中文名称 英文名称 备注 1 任务编号 RTaskID 主键 2 任务名称 TaskName 不能为空 3 出口网卡地址 AdapterIP 不能为空 4 目的地址 DestinationIP 不能为空 5 任务开始时间 starttime 不能为空 6 任务执行间隔 ExecutionInterval 不能为空 7 时延 outime 不能为空 8 备注 memo 可以为空

常规任务执行情况表: TExecutionSetting 序号 中文名称 英文名称 备注 1 执行序号 ExecutionSequenceNO 主键 2 任务编号 RTaskID 不能为空 3 任务执行时间 StartTime 不能为空

根据业务场景描述,用CREATE TABLE语句创建常规任务表和执行计划表。表名和字段名称用英文名称,数据类型以及表之间的关联关系自行考虑。 Create table TRegularTask(

RTaskID bigint IDENTITY(1,1) not null primary key, TaskName varchar(50) not null, AdapterIP varchar(20) not null, DestinationIP varchar(20) not null, Starttime datetime not null, Executioninterval float not null, Outime datetime not null, Memo varchar(200))

Create table TExecutionSetting(

ExecutionSequenceNO bigint not null primary key,

RTaskID bigint not null references TRegularTask(RTaskID), StartTime datetime not null)

2、已知商品表、订单表、订单细节表、顾客表的结构如下所示:

商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int

顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表的顾客编号

订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表的订单编号 商品编号 char 5 主键。外键,引用商品表的商品编号 数量 int 默认值为1 针对以上各表,用SQL语句完成以下操作。 用SQL语句创建以上数据表,要求考虑主键和外键 Create table 商品(

商品编号 char(5) not null primary key, 商品名称 varchar(50), 单价 numeric(10,2), 库存数量 int)

Create table 顾客(

顾客编号 char(5) not null primary key, 顾客姓名 varchar(50))

Create table 订单(

订单编号 char(10) not null primary key, 下单日期 date,

顾客编号 char(5) references顾客(顾客编号))

Create table 订单细节(

订单编号 char(10) not null primary key, Foreign key(订单编号)

References 订单(订单编号)

商品编号 char(5) not null primary key, Foreign key(商品编号)

References 商品(商品编号) 数量 int deafault1

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库题库在线全文阅读。

数据库题库.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/262486.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: