标准SQL语言
一、选择题
1、下面关于SQL标准的叙述中,不正确的是( B )。
A.SQL语言是集数据定义、数据操纵、数据控制功能为一体的语言。
B.SQL语言是一种高度过程化的语言。
C.SQL标准规定数据库是按三级模式结构构建。
D.SQL语言是关系型数据库的标准语言。
E.SQL语言是面向集合的语言。
2、SQL语言中,修改基本表结构的语句是( B )。
A. UPDATE B. ALTER C. DROP D.CREATE
3、SQL语言中,删除基本表结构的语句是( C )。
A. DELETE B. ALTER C. DROP D.CREATE
4、下面关于“视图”的叙述中,不正确的是( C )。
A.视图是一种“虚表”,它的数据被存放在基本表中。
B.视图提供了逻辑数据独立性。
C.不能通过视图来更新数据库中的数据。
D.视图能提供对数据的安全保护。
5、下面关于SELECT语句的叙述中,不正确的是(C)。
A.SELECT产生的结果是一个集合。
B.HAVING子句必须与GROUP BY子句一起使用。
C.可以省略FROM子句。
D.可以省略WHERE子句。
二、填空题
1、在使用INSERT语句向一个表中插入元组时,“值列表”中值的个数、(顺序)、类型必须与“列名表”保持一致。
2、在向一个表中插入元组时,对于未指定默认值且( 不能取空值 )的字段必须赋值。
insert语句字段顺序3、向表中插入元组时,主键的值不能取( NULL )值。
4、在使用DELETE语句时,如果不指定( where 条件 )就会将整个表的数据删除。
5、视图是从一个或几个基本表或( 视图 )导出的表,它与基本表不同,是一个虚表。
三、判断题
1、SQL语言是面向集合操作的语言。√
2、可以通过视图来查询数据,但不能通过视图来更新数据库中的数据。×
3、在SQL Server数据库系统中,向表中插入元组时,系统自动为具有标识属性的列赋值。√
4、在SQL Server数据库系统中,向表中插入元组时,对取值类型为timestamp(时间戳)的列不能赋值,系统自动赋值。√
5、用户对数据作更新操作时,必须有相应权限。√
6、视图只能从基本表中导出,不能从视图中再导出视图。×
7、数据库中只存放视图的定义,而不存放视图对应的数据。√
8、计算列是物理上并不存储在表中的虚拟列。√
9、计算列不能用作 DEFAULT 或 FOREIGN KEY 约束定义,也不能与 NOT NULL 约束定义一起使用。√
10、对于每个表只能创建一个标识列。√
11、ALERT语句添加到表中的新列要么允许空值,要么必须指定默认值。√
四、计算题
1、现有一教学管理系统,ER模型如下:
m m
n n
n 1
逻辑模型如下:
学生(学号,姓名,性别,民族)
教师(教师号,姓名,民族,职称)
课程(课号,课名,课程介绍,课程类型,先导课号)
教学班(课号,班号,学年,学期,限制人数)
排课(教师号,课号,班号,学年,学期,周学时,开始周,结束周)
选课(学号,课号,班号,成绩,未考试原因)
说明:
“周学时”、“开始周”、“结束周”、“限制人数”、 学年、学期字段的取值类型为整数型。“成绩” 字段的取值类型为实数型。其它字段的取值类型为字符型。选课表存储的数据为本学期的学生选课数据
请用SQL语句做如下操作:
1、查询‘191854’号课的选课学生的“学号”、“成绩”,要求:按成绩降序输出,成绩相同时,按学号升序输出。
2、统计教师号为‘2002016’的教师,在2015年的上课情况。要求显示的信息内容为:课号,课名,班号,学期,总学时(指的是每门课)
3、统计每名同学在的选课情况。要求显示的信息为: 学号,姓名,选课门数,平均分。
4、把选修‘191854’课,成绩低于60分且成绩不为NULL(空)的学生的成绩提高10%。
5、把学生表中2015级学生的“密码”设置为其学号的后六位数字字符。
提示:函数RIGHT(st, n)的功能是返回字符串st的后n位字符,函数例如:
RIGHT(‘123456789’, 3)=’789’
6、在本数据库中,另有一个“学生成绩单”表,结构如下:
学生成绩单(学号,课号,学年,学期,成绩)。请将“选课”表中2015年第1学期的学生选课数据,添加到“学生成绩单”表中。
7、删除学生表中2011级的学生,但如果该同学在选课表中还有选课则不能删除。
1、
Select 学号,姓名,成绩
From 学生,选课
Where 学生.学号=选课.学号 and 课号=’198114’
Order by 成绩 DESC
2、
Select 课号,课名,班号,学期,周学时×(结束周-开始周+1)
As 总学时
From 排课,课程
Where 排课.课号=课程.课号 and 教师号=’2002016’ and 学年=2014
3、
Select 学号,姓名,COUNT() AS 选课门数,avg(成绩) as 平均分
From 学生,选课
Where 学生.学号=选课.学号
Group by 学号,姓名
4、
UPDATE 选课
SET 成绩=成绩*1.05
WHERE 课号=191854’ and 成绩<50 and 成绩 IS NOT NULL
And 学号 in
(select 学号 from 学生 where 民族 like ‘蒙%’)
5、
UPDATE 学生
SET 密码= RIGHT(学号,63)
WHERE 学号 like ‘2015%’
6、
Insert Into 学生成绩单(学号,课号,学年,学期,成绩)
Select 学号,课号, 2015 ,1 , 成绩
From 选课
7、delete from 学生
Where 学号 like ‘2011%’ and 学号not in
(select distinct 学号
From 选课
学号 like ‘2011%’ )
2、现有一图书管理系统,ER模型如下:
m 1
m
n
n
n
n 1
n
1 1
n
1
逻辑模型如下:
中图分类(分类号,分类名称)
图书品种(品种号,分类号,书名,第一作者,出版社,出版日期,单价,数量,购买日期)
馆藏图书(书号,品种号,库房号,架位号,在馆否)
库房(库房号,面积,电话,校区,负责人, )
库位(库房号,架位号)
读者(读者号,姓名,密码,读者类型号,挂失否,停借否,停借日期,本年度超期还书次数)
读者类型(读者类型号,说明,最大借书数,最长借书天数)
借阅(书号 ,读者号 ,借书日期,还书日期,还否)
说明:图书.购买年份,图书.价格,读者类型.最大借书数,读者类型.最大借书数的取值类型为数值型;读者.挂失否,读者.挂失否的取值类型为逻辑型;借阅.借书日期,借阅.还书日期的取值类型为日期型;其它取值类型为字符型。
请用SQL语句做如下操作:
1、查询借阅了书名为《数据库原理》的读者信息。
Select 读者.读者号 , 姓名
From 借阅 , 图书 , 图书品种 , 读者
Where 借阅.书号=图书.书号 and 图书.品种号=图书品种.图书品种号 and
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论