
一、判断题
1. 在非聚集索引中,每个索引并不是包含行记录的数据,而是数据行的一个指针。
A. 错误
B. 正确
正确答案:B
2. 每张表可以创建多个聚集索引,每个聚集索引需要仅仅20%的附加空间,以存放该表的副本和索引的中间页。
A. 错误
B. 正确
正确答案:A
3. 索引是与表(或视图)关联的页的集合,用于加速从表中检索或者用于强制实施的唯一性。
A. 错误
B. 正确
正确答案:B
4. FROM语句用于向已经存在的表中插入新的数据。
A. 错误
B. 正确
正确答案:A
5. 在聚集索引中,叶节点包含基础表的数据页。根节点与叶节点包含有索引行的索引页。
A. 错误
B. 正确
正确答案:B
6. DELETE语句不仅删除了表中的数据,而且删除该表。
A. 错误
B. 正确
正确答案:A
7. 视图类似基表,包含带有名称的行和列数据,但视图中不存储任何数据,行和列的数据均来于查询所基于的基表中。
A. 错误
B. 正确
正确答案:B
8. 对表数据的插入、修改和删除还可以通过T-SQL语句来进行,与界面 *** 作表数据相比,通过T-SQL语句 *** 作表数据更为灵活,功能更为强大。
A. 错误
B. 正确
正确答案:B
9. 在SQL Server中,索引是按B-Tree 结构进行组织的,B-Tree中的所有结点均称为叶结点。
A. 错误
B. 正确
正确答案:A
10. T-SQL创建数据库的主要语句是CREATE DATABASE….。
A. 错误
B. 正确
正确答案:B
二、单选题
1. 若要在基本表dept中增加一列CN,可用()语句。
A. add table dept(CN char(8))
B. add table dept alter(CN char(8))
C. alter table dept add CN char(8)
D. alter table add dept CN char(8)
正确答案:C
2. 您需要显示年龄从18到21的学生的姓名和年龄。学生表xsxx包含列“姓名”和列“年龄”,下面()语句能完成该功能。
A. SELECT 姓名, 年龄 FROM xsxx
B. SELECT 姓名, 年龄 FROM xsxx WHERE年龄 = 18 OR 年龄 = 21
C. SELECT 姓名, 年龄 FROM xsxx WHERE 年龄 BETWEEN 18 AND 21
D. SELECT 姓名, 年龄 FROM xsxx WHERE年龄 = 18 AND 年龄 != 21
正确答案:C
3. 由于业务量很大,订单表存放了大量的数据。你想查询3年以前的订购信息,下面()语句能够完成该任务。
A. select * FROM 订单表 WHERE 订购日期<DATEADD( YY, -3, GETDATE() )
B. select * FROM 订单表 WHERE 订购日期<DATEADD( YY, 3, GETDATE() )
C. select * FROM 订单表 WHERE 订购日期<GETDATE() - 3
D. select * FROM 订单表 WHERE 订购日期<GETDATE() + 3
正确答案:A
4. 学生表xsxx包含列“姓名”和列“年龄”等,想要按照年龄从大到小顺序查询出学生表的所有信息,下面()语句能完成该功能。
A. SELECT * FROM xsxx
B. SELECT * FROM xsxx ORDER BY 年龄 desc
C. SELECT * FROM xsxx ORDER BY 年龄 asc
D. SELECT 姓名, 年龄 FROM xsxx
正确答案:B
5. 在登记学生成绩时要保证列Score的值在0到100之间,下面()方法最简单。
A. 编写一个触发器来检查Score的值,如果在0和100之间,则撤消插入
B. 生成用户自定义类型type_Score和规则,将规则与数据类型type_Score相关联,然后设置列Score的数据类型类型为type_Score
C. 编写一个触发器来检查Score的值,如果不在0和100之间,则撤消插入
D. 在Score列增加检查限制
正确答案:D
6. 假设表xsxx的列x的类型是char,根据业务的发展需要改为整型(integer),应该使用下面的()语句。
A. ALTER COLUMN x integer FROM xsxx
B. ALTER TABLE xsxx ( x integer )
C. ALTER TABLE xsxx ALTER COLUMN x integer
D. ALTER COLUMN xsxx.x integer
正确答案:C
7. 在SQL中,建立表的命令是()。
A. DROP SCHEMA
B. CREATE TABLE
C. CREATE VIEW
D. DROP INDEX
正确答案:B
8. 有如下SQL语句:SELECT * FROM student where DeptID between 12 and 15,与该语句等价的是()。
A. SELECT * FROM student where DeptID<=15 and DeptID>=12
B. SELECT * FROM student where DeptID<=15 and DeptID>12
C. SELECT * FROM student where DeptID<15 and DeptID<=12
D. SELECT * FROM student where DeptID<15 and DeptID<12
正确答案:A
9. SELECT语句中,用于显示部分查询结果的TOP短语与()同时使用,可以显示出查询的排序效果。
A. ORDER BY
B. CREATE
C. DROP
D. USEFOR
正确答案:A
10. 一般情况下,下面()关键字不能影响SELECT语句返回的结果的行数。
A. TOP n
B. WHERE
C. ORDER BY
D. DISTINCT
正确答案:C
borrower:create table borrower(
姓名 char[20] not null,
系名 char[10],
班级 char[10])
create table loans(
借书证号 char[5],
图书登记号 char[6],
结束日期 DATE,
primary key(借书证号,图书登记号),
foreign key(借书证号) reference borrower(借书证号),
foreign key(图书登记号 reference books(图书登记号))
create table books(
索书号 char[10],
书名 char[20],
图书登记号 char[6] primary key,
出版社 char[20],
价格 smallint))
(1)
select borrower.借书证号,姓名,系名,temp.total as 借书数量
from borrower,(select 借书证号,count(图书登记号) as total
from loans group by 借书证号
where tatal>5 as temp(借书证号,total))
(2)
select borrower.姓名,系名,书名,结束日期
from borrower,loans,books
where borrower.借书证号=loans.借书证号
and books.图书登记号=loans.图书登记号
and 书名 in(selcet 书名
from borrower,loans,books
where borrower.借书证号=loans.借书证号
and books.图书登记号=loans.图书登记号
and 姓名='赵垒')
(3)
create view SB
as
select borrower.借书证号,姓名,班级,books.图书登记号,书名,出版社
,借书日期
from borrower,book,loans
where borrower.借书证号=loans.借书证号
and books.图书登记号=loans.图书登记号
and 系名='信息系'
1
create table student(
sno char[10] primary key,
sname char[20] not null,
ssex char[2],
sage smallint check( sage between 16 and 30),
sdept char[4])
create table course(
cno char[10] primary key,
cname char[20] not null,
cteacher char[20])
create table sc(
sno char[10],
cno char[10],
grade smallint check(grade is null or grade between 0 and
100),
primary key(sno,cno)
foreign key sno reference student(sno),
foreign key cno reference course(cno))
2
insert into student values('102','李四','男',16,'数学')
下同
insert into course values('203',' *** 作系统','程羽')
下同
insert into sc values('101','203',82)
下同
3
(1) select cname,grade
from sc,student,course
where student.sno=sc.sno and course.cno=sc.cno
and sname='张三'
(2) select sname from student
where sno in(select sno from sc x
where not exists(
select * from sc y
where x.sno=y.sno
and y.grade<60))
(3) select cname,sname,grade
from student,course sc,(select cno,max(grade) from sc group by cno
as temp(cno,max))
where student.sno=sc.sno and course.cno=sc.cno
and grade=max and course.cno=temp.cno
4
delete * from sc where grade<60
5
update sc
set grade=(select avg(grade) from sc where cno='203')
where sno=105
仅供参考
同学你好 我是你们王老师 我布置的作业要求独立完成 一般专业数据库学习者不会集中在Power Designer 与 MySQL上,就算有也懒得来帮你。要不你来办公室找老师,老师帮你解决欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)