文档库 最新最全的文档下载
当前位置:文档库 › SQL练习题复习课程

SQL练习题复习课程

SQL练习题复习课程
SQL练习题复习课程

例题

1、写出一条Sql语句:取出表A中第31到第40记录(Mysql)

select * from A limit 30, 10

MS-SQLServer

解1:select top 10 * from A where id not in (select top 30 id from A)

解2:select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)

解3:select * from (select *, Row_Number() OVER (ORDER BY id asc) rowid FROM A) as A where rowid between 31 and 40

Oracle

select *

from (select A.*,

row_number() over (order by id asc) rank

FROM A)

where rank >=31 AND rank<=40;

2、用一条SQL语句查询出每门课都大于80分的学生姓名

name kecheng fenshu

张三语文81

张三数学75

李四语文76

李四数学90

王五语文81

王五数学100

王五英语90

A: select distinct name from table where name not in (select distinct name from tabl e where fenshu<=80)

select name from table group by name having min(fenshu)>80

3、学生表如下:

自动编号学号姓名课程编号课程名称分数

12005001张三0001数学69

22005002李四0001数学89

32005001张三0001数学69

删除除了自动编号不同,其他都相同的学生冗余信息

A: delete tablename where自动编号not in(select min(自动编号) from tablename group by学号,姓名,课程编号,课程名称,分数)

4、请用SQL语句实现:

从TestDB 数据表中查询出所有月份的发生额都比101 科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有1 -12 月份的发生额。

AccID :科目代码,Occmonth :发生额月份,DebitOccur :发生额。

数据库名:JcyAudit ,数据集:Select * from TestDB

答:select a.*

from TestDB a

,(select Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID='101' gro up by Occmonth) b

where a.Occmonth=b.Occmonth and a.DebitOccur>b.Debit101ccur

5、一个叫team的表,

里面只有一个字段name,一共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可能的比赛组合.

你先按你自己的想法做一下,看结果有我的这个简单吗?

select https://www.wendangku.net/doc/1a6193510.html,, https://www.wendangku.net/doc/1a6193510.html,

from team a, team b

where https://www.wendangku.net/doc/1a6193510.html, < https://www.wendangku.net/doc/1a6193510.html,

6、面试题:怎么把这样一个表儿

year month amount

19911 1.1

19912 1.2

19913 1.3

19914 1.4

19921 2.1

19922 2.2

19923 2.3

19924 2.4

查成这样一个结果

year m1m2m3m4

1991 1.1 1.2 1.3 1.4

1992 2.1 2.2 2.3 2.4

答案一、

select year,

(select amount from aaa m where month=1and m.year=aaa.year) as m1,

(select amount from aaa m where month=2and m.year=aaa.year) as m2,

(select amount from aaa m where month=3and m.year=aaa.year) as m3,

(select amount from aaa m where month=4and m.year=aaa.year) as m4

from aaa group by year

7、说明:复制表(只复制结构,源表名:a新表名:b)

SQL: select * into b from a where 1<>1(where1=1,拷贝表结构和数据内容)

Oracle:create table b

As

Select * from a where 1=2

[<>(不等于)(SQL Server Compact)

比较两个表达式。当使用此运算符比较非空表达式时,如果左操作数不等于右操作数,则结果为TRUE。否则,结果为FALSE。]

8、说明:拷贝表(拷贝数据,源表名:a目标表名:b)

SQL: insert into b(a, b, c) select d,e,f from a;

9、说明:显示文章、提交人和最后回复时间

SQL: select a.title,https://www.wendangku.net/doc/1a6193510.html,ername,b.adddate from table a,(select max(adddate) adddate fr om table where table.title=a.title) b

10.说明:外连接查询(表名1:a表名2:b)

SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUTER JOIN b ON a.a = b.c

ORACLE:select a.a, a.b, a.c, b.c, b.d, b.f from a ,b

where a.a = b.c(+)

11.说明:日程安排提前五分钟提醒

SQL: select * from 日程安排 where datediff('minute',f 开始时间,getdate())>5

12.说明:两张关联表,删除主表中已经在副表中没有的信息

SQL:

Delete from info where not exists (select * from infobz where info.infid=infobz.infid )

13.有两个表A和B,均有key和value两个字段,如果B的key在

A中也有,就把B的value换为A中对应的value

这道题的SQL 语句怎么写?

update b set b.value=(select a.value from a where a.key=b.key) where b.id in(select b.id from b,a where b.key=a.key);

高级sql面试题

14.原表:

courseid coursename score

-------------------------------------

1 Java 70

2 oracle 90

3 xml 40

4 jsp 30

5 servlet 80

-------------------------------------

为了便于阅读, 查询此表后的结果显式如下( 及格分数为60):

courseid coursename score mark

---------------------------------------------------

1 Java 70 pass

2 oracle 90 pass

3 xml 40 fail

4 jsp 30 fail

5 servlet 80 pass

---------------------------------------------------

写出此查询语句

select courseid, coursename ,score ,decode(sign(score-60),-1,'fail','pass') as mark fro m course

(SQL:select courseid, coursename ,score ,(case when score<60 then 'fail' else 'pas s' end) as mark from course )

ORACLE : select courseid, coursename ,score ,decode(sign(score-60),-1,'fail','pass') as mark from course

(DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数)

完全正确

SQL> desc course_v

Name Null? Type

----------------------------------------- -------- ----------------------------

COURSEID NUMBER

COURSENAME VARCHAR2(10)

SCORE NUMBER

SQL> select * from course_v;

COURSEID COURSENAME SCORE

---------- ---------- ----------

1 java 70

2 oracle 90

3 xml 40

4 jsp 30

5 servlet 80

SQL> select courseid, coursename ,score ,decode(sign(score-60),-1,'fail','pass') as ma rk from course_v;

COURSEID COURSENAME SCORE MARK

---------- ---------- ---------- ----

1 java 70 pass

2 oracle 90 pass

3 xml 40 fail

4 jsp 30 fail

5 servlet 80 pass

15.SQL面试题(1)

create table testtable1

(

id int IDENTITY,

department varchar(12)

)

select * from testtable1

insert into testtable1 values('设计')

insert into testtable1 values('市场')

insert into testtable1 values('售后')

/*

结果

id department

1 设计

2 市场

3 售后

*/

create table testtable2

(

id int IDENTITY,

dptID int,

name varchar(12)

)

insert into testtable2 values(1,'张三')

insert into testtable2 values(1,'李四')

insert into testtable2 values(2,'王五')

insert into testtable2 values(3,'彭六')

insert into testtable2 values(4,'陈七')

/*

用一条SQL语句,怎么显示如下结果

id dptID department name

1 1 设计张三

2 1 设计李四

3 2 市场王五

4 3 售后彭六

5 4 黑人陈七

*/

答案:

SELECT testtable2.* , ISNULL(department,'黑人')

FROM testtable1 right join testtable2 on testtable2.dptID = testtable1.ID

也做出来了可比这方法稍复杂。/

16.sql面试题(2)

有表A,结构如下:

A: p_ID p_Num s_id

1 10 01

1 1

2 02

2 8 01

3 11 01

3 8 03

其中:p_ID为产品ID,p_Num为产品库存量,s_id为仓库ID。请用SQL语句实现将上表中的数据合并,合并后的数据为:

p_ID s1_id s2_id s3_id

1 10 1

2 0

2 8 0 0

3 11 0 8

其中:s1_id为仓库1的库存量,s2_id为仓库2的库存量,s3_id为仓库3的库存量。如果该产品在某仓库中无库存量,那么就是0代替。

结果:

select p_id ,

sum(case when s_id=1 then p_num else 0 end) as s1_id

,sum(case when s_id=2 then p_num else 0 end) as s2_id

,sum(case when s_id=3 then p_num else 0 end) as s3_id

from myPro group by p_id

什么是相关子查询?如何使用这些查询?

经验更加丰富的开发人员将能够准确地描述这种类型的查询。

相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。

19、为管理业务培训信息,建立3个表:

S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄

C(C#,CN)C#,CN分别代表课程编号,课程名称

SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩

(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?

答案:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基础’)

(2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?

答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’

(3) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?

答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)

(4)查询选修了课程的学员人数

答:select 学员人数=count(distinct s#) from sc

(5) 查询选修课程超过5门的学员学号和所属单位?

答:select sn,sd from s where s# in(select s# from sc group by s# having count(disti nct c#)>5)

18、SQL面试题(4)

1. 查询A(ID,Name)表中第31至40条记录,ID作为主键可能是不是连续增长的列,完整的

查询语句如下:

select top 10 * from A where ID >(select max(ID) from (select top 30 ID from A order by A ) T) order by A

2.查询表A中存在ID重复三次以上的记录,完整的查询语句如下:

select * from(select count(ID) as count from table group by ID)T where T.count>3 简答题部分

1.触发器的作用?

答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

2。什么是存储过程?用什么来调用?

答:存储过程是一个预编译的SQL 语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL ,使用存储过程比单纯S QL 语句执行要快。可以用一个命令对象来调用存储过程。

3。索引的作用?和它的优点缺点是什么?

答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

3。什么是内存泄漏?

答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free 或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4。维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?

答:我是这样做的,尽可能使用约束,如check, 主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。

5。什么是事务?什么是锁?

答:事务就是被绑定在一起作为一个逻辑工作单元的SQL 语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACI D 测试,即原子性,一致性,隔离性和持久性。

锁:在所以的 DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。

6。什么叫视图?游标是什么?

答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

SQL数据库面试题以及答案(50例题)

https://https://www.wendangku.net/doc/1a6193510.html,/hundan_520520/article/details/54881208

Student(Sid,Sname,Sage,Ssex)学生表

Sid:学号

Sname:学生姓名

Sage:学生年龄

Ssex:学生性别

Course(Cid,Cname,T#)课程表

Cid:课程编号

Cname:课程名称

Tid:教师编号

SC(Sid,Cid,score)成绩表

Sid:学号

Cid:课程编号

score:成绩

Teacher(Tid,Tname)教师表

Tid:教师编号:

Tname:教师名字

问题:

1、查询“001”课程比“002”课程成绩高的所有学生的学号select a.sid from

(select sid,score from sc where cid='001')a,

(select sid,score from sc where cid='002')b

where a.sid = b.sid and a.score>b.score;

2、查询平均成绩大于60分的同学的学号和平均成绩select sid,avg(score) from sc

group by sid

having avg(score)>60;

3、查询所有同学的学号、姓名、选课数、总成绩select s.sid,s.sname,count_cid as选课数,

sum_score as总成绩

from student s

left join

(select sid,count(cid) as count_cid,sum(score) as sum_score from sc group by sid )sc

on s.sid = sc.sid;

4、查询姓‘李’的老师的个数:

select count(tname)

from teacher

where tname like'李%';

5、查询没有学过“叶平”老师可的同学的学号、姓名:select s.sid,s.sname

from student as s

where s.sid not in (

select DISTINCT sid

from sc as sc

where sc.cid in (

select cid

from course as c

left join teacher as t on c.tid = t.tid

where t.tname = '叶平')

);

6、查询学过“叶平”老师所教的所有课的同学的学号、姓名:select s.sid,s.sname

from student as s

where s.sid in (

select distinct sc.sid

from sc as sc

where sc.cid in (

select cid

from course as c

left join teacher as t on c.tid = t.tid

where t.tname = '叶平')

group by sc.sid

HAVING count(cid)=

(select count(cid)

from course as c left join teacher as t on c.tid = t.tid

where t.tname = '叶平')

);

7、查询学过“011”并且也学过编号“002”课程的同学的学号、姓名:SELECT s.sid,s.sname

from student as s

left join sc as sc on s.sid = sc.sid

where sc.cid = '001'

and EXISTS(

select * from sc as sc_2

where sc.sid = sc_2.sid

and sc_2.cid='002');

select s.sid,s.sname

from student as s

left join sc as sc

on sc.sid = s.sid

where sc.cid = '001'

and s.sid in (

select sid from sc as sc_2

where sc_2.cid='002'

and sc_2.sid = sc.sid);

8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的

学号、姓名:

select sid,sname

from (select student.sid,student.sname,score,

(select score from sc as sc_2

where sc_2.sid = student.sid

and sc_2.cid = '002') as score2

from student,sc

where student.sid=sc.sid and cid = '001') s_2

where score2

? 1

? 2

? 3

? 4

? 5

? 6

?7

?8 9、查询所有课程成绩小于60的同学的学号、姓名:

select sid,sname

from student

where sid not in

(select s.sid

from student s,sc

where s.sid=sc.sid and score>60 );

select sid,sname

from student s

where not EXISTS (

select s.sid from sc

where sc.sid = s.sid and sc.score>60);

10、查询没有学全所有课的同学的学号、姓名:

select s.sid,s.sname

from student s ,sc sc

where s.sid = sc.sid

group by s.sid,s.sname

having count(sc.cid)<(

select count(cid)

from course);

select s.sid,s.sname

from student s

right join sc sc on s.sid = sc.sid

group by s.sid,s.sname

having count(sc.cid)<

(select count(cid) from course);

11、查询至少有一门课与学号为“1001”同学所学相同的同学的学号和姓名:select student.sid,sname

from student,sc

where student.sid = sc.sid

and cid in

(select cid from sc where sid='1001');

select s.sid,s.sname

from sc sc left join student as s

on sc.sid = s.sid

where sc.cid in (select cid from sc where sid='1001');

select sc_1.sid,s.sname

from sc sc_1 left join student as s

on sc_1.sid = s.sid

where

exists (select sc_2.cid from sc as sc_2

where sc_1.cid = sc_2.cid

and sc_2.sid = '1001');

?

12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;

13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩:update sc set score =

(select avg(sc_2.score) from sc sc_2

where sc_2.cid = sc.cid)

where cid in

(select c.cid from course c

sql数据库期末考试题及答案

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是()。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 满分:5 分 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是()。 A. Update B. Delete C. Insert D. Alter 满分:5 分 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于()。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 满分:5 分 4. 如果要在一管理职工工资的表中限制工资的输入围,应使用()约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 满分:5 分 5. 记录数据库事务操作信息的文件是()。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 满分:5 分 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用()命令。 A. SELECT * FROM CP WHERE 产品名称LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产品名称LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 满分:5 分 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是()。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 满分:5 分

数据库期末考试试题及答案

一、选择题(每题1分,共20分) 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是( A )阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理 2.数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(D)。 A. 存储视图 B. 概念视图 C. 内部视图 D. 外部视图 3.数据库的概念模型独立于(A)。 A.具体的机器和DBMS B. E-R图 C. 信息世界 D. 现实世界 4.数据库中,数据的物理独立性是指(C)。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 5.关系模式的任何属性(A)。 A. 不可再分 B. 可再分 C. 命名在该关系模式中可以不惟一 D.以上都不是 6.下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字: 职工(职工号,职工名,部门号,职务,工资) 设备(设备号,职工号,设备名,数量) 两个关系的属性中,存在一个外关键字为( C )。 A. 职工关系的“职工号” B. 职工关系的“设备号” C. 设备关系的“职工号” D. 设备关系的“设备号” 7.以下四个叙述中,哪一个不是对关系模式进行规X化的主要目的( C )。 A. 减少数据冗余 B. 解决更新异常问题 C. 加快查询速度 D. 提高存储空间效率 8.关系模式中各级X式之间的关系为( A )。 A. B. C. D. 9.保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指数据的( A )。 A. 安全性 B.完整性 C.并发控制 D.恢复 10.事务的原子性是指( B )。 A. 事务一旦提交,对数据库的改变是永久的 B. 事务中包括的所有操作要么都做,要么都不做 C. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D. 事务必须使数据库从一个一致性状态变到另一个一致性状态 11.下列哪些运算是关系代数的基本运算( D )。 A. 交、并、差 B. 投影、选取、除、联结 C. 联结、自然联结、笛卡尔乘积 D. 投影、选取、笛卡尔乘积、差运算

sql数据库期末考试题及答案

sql数据库期末考试题及答案 一、单选题(共10道试题,共50分。)1. SQL Server中,保存着每个数据库对象的信息的系统表是 (C)。 A. sysdatabases B. Syscolu mns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. I nsert D. Alter 3. 在查询语句的Where子句中,如果出现了" age Between 30 and 40 ” ,这个表达式等同于( A) A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用( D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. uni que D. check 5. 记录数据库事务操作信息的文件是( D )。 A.数据文件 B.索引文件 C.辅助数据文件 D.日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。 A. SELECT * FROM CP WHERE 产品名称LIKE '冰箱’ B. SELECT * FROM XSH WHERE 产品名称LIKE '冰箱’ C. SELECT * FROM CP WHERE 产品名称LIKE '淋箱% D. SELECT * FROM CP WHERE 产品名称='冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是( D )。 A. 一对一的联系 B. 一对多的联系 C.多对一的联系 D.多对多的联系 8. SQL的聚集函数COUN T SUM AVG MAX MIN不允许出现在查询语句的( D)子句之中。 A. SELECT B. HAVING C. GROUP BY- HAVING D. WHERE 9. 列值为空值(NULL)则说明这一列(C)。 A.数值为0 B. 数值为空格 C.数值是未知的 D. 不存在 10. 数据库的数据一般存放在(D )中。 A.内存 B. CPU C. 寄存器 D. 磁盘 SQL Server数据库试题十及答案 一、单项选择题(每题2分,共15题) 1. SQL Server 2000 是一个(C )的数据库系统。 (A)网状型 (B)层次型(C)关系型(D)以上都不是 2. DTS是一个简称,它的全称是(B )。 A.数据运输系统 B.数据传输服务 C.数据库传输系统 D.数据库运输服务 3. SQL Server 2000 采用的身份验证模式有( D)。 (A)仅Windows身份验证模式(B)仅SQL Server身份验证模式 (C)仅混合模式(D) Windows身份验证模式和混合模式 4. SQL语言按照用途可以分为三类,下面选项中哪一种不是的:(C) (A) DML (B) DCL (C) DQL (D) DDL 5. 在SELECT语句的WHER子句的条件表达式中,可以匹配0个到多个字符的通配符是(B ) (A) * (B) % (C) - (D) ? 6. SQL Server提供的单行注释语句是使用( B)开始的一行内容。 (A) “/* ”( B) “-- ”( C) “{”( D) “/” 7. 以下那种类型能作为变量的数据类型( C)。 (A) text (B) ntext (C) table ( D) image 8.下面不属于数据定义功能的SQL语句是:(C)

SQL Server 数据库试题与答案B卷

《SQL Server 数据库》B卷系别:________班级:________学号:________姓名:________ 1.本试卷为闭卷考试。 2.考试时间:120分钟 3.本试卷满分:100分 4.试卷适用班级:09高职软件技术班 一、单选题:(共2分,共30题,每小题的四个备选项中,只有一项是正确的,不选,错选均不得分) 1、Microsoft SQL Server是一种基于客户机/服务器的关系型数据库管理系统,它使用( B )语言在服务器和客户机之间传送请求。 A)TCP/IP B)T-SQL C)C D)ASP 2、( A )是一个图形界面的查询工具,用它可以提交T—SQL语言,然后发送到服务器,并返回执行结果,该工具支持基于任何服务器的任何数据库连接。 A)SQL Server Management Studio B)事件探查器 C)SQL管理对象D)DTS 3、( A )是用于存储、处理和保护数据的核心组件。 A)数据库引擎B)集成服务 C)报表服务D)通知服务 4、( A )是一个具有访问网络资源权限的Windows操作系统账户。 A)本地系统账户B)网络服务账户 C)本地服务账户D)域用户账户 5、数据库系统中负责数据库系统的建立、维护和管理的人员是( D ) A)最终用户 B)应用程序员 C)系统分析员 D)数据库管理员 6、数据库设计过程中,( C )将E—R图转换为关系模式并进行关系规范化。 A)需求分析阶段 B)概念结构设计阶段 C)逻辑结构设计阶段D)物理结构设计阶段 7、强制关系中的主属性不能为空,满足以下( A ) A)实体完整性B)参照完整性 C)用户定义完整性D)域完整性 8、数据库设计规范化的第三范式除了要满足第一、第二范式外,还要满足( C )A)每个记录的列只能有一个值 B)所有非主键列的值都只能由主键列中决定

SQL数据库考试试题

1 SQL数据库试题 一、单项选择题(每小题1分,共10分) 1.下列四项中,不属于数据库特点的是( C )。 A.数据共享 B.数据完整性 C.数据冗余专门高 D.数据独立性高 2.下列四项中,不属于SQL2000有用程序的是( D )。 A.企业治理器 B.查询分析器

C.服务治理器 D.媒体播放器 3.SQL Server安装程序创建4个系统数据库,下列哪个不是 ( C )系统数据库。 A.master B.model C.pub D.msdb 4.( A )是位于用户与操作系统之间的一层数据治理软件,它属于系统软件,它为用户或应用程序 提供访问数据库的方法。数据库在建立、使用和维护时由其统一治理、统一操纵。 A.DBMS B.DB

C.DBS D.DBA 5. 在SQL中,建立表用的命令是 ( B )。 A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX 6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。 A.包括15岁和35岁 B.不包括15岁和35岁 C.包括15岁但不包括35岁

D.包括35岁但不包括15岁 7.下列四项中,不正确的提法是( C )。 2 A.SQL语言是关系数据库的国际标准语言 B.SQL语言具有数据定义、查询、操纵和操纵功能 C.SQL语言能够自动实现关系数据库的规范化 D.SQL语言称为结构查询语言 8.在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。

sql数据库期末考试题与答案

一、单选题(共10 道试题, 共 50 分。)V1.SQLServer 中,保存着每个数据库对象的 信息的系统表是 ( C)。 A.sysdatabases B.Syscolumns C.Sysobjects D.Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D)。 A.Update B.Delete C.Insert D.Alter 3. 在查询语句的Where子句中,如果出现了“ageBetween30 and40”,这个表达式等同于(A)。 A.age>=30andage<=40 B.age>=30orage<=40 C.age>30andage<40 D.age>30orage<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D)约束。 A.PDRIMARYKEY B.FOREIGNKEY C.unique D.check 5. 记录数据库事务操作信息的文件是(D)。 A.数据文件 B.索引文件 C.辅助数据文件 D.日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。 A.SELECT*FROMCPWHERE产品名称LIKE ‘冰箱’ B.SELECT*FROMXSHWHERE产品名称LIKE ‘冰箱’ C.SELECT*FROMCPWHERE产品名称LIKE ‘%冰箱%’ D.SELECT*FROMCPWHERE产品名称=‘冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D)。 A.一对一的联系 B.一对多的联系 C.多对一的联系 D.多对多的联系 8.SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。 A.SELECT B.HAVING C.GROUPBY?HAVING D.WHERE

sql数据库期末考试题及答案完整版

s q l数据库期末考试题 及答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是( C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D )。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。 A. SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE

SQLServer数据库试题九及答案.doc

SQL Server 数据库试题九及答案 一、选择题 (每题 2 分,共 30 分 ) 1、下面不属于数据定义功能的SQL 语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、 SQL 数据库中的视图与下列哪项是对应的()。 A. 关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A. 快照复制 B.差异复制 C.事务复制 D. 合并复制 4、下列说法错误的是 : ()。 A. 一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A . Echo B .Message C. Warn D . MsgBox 6、在 SQL Server 2000 中,索引的顺序和数据表的物理顺序相同的索引是()。 A. 聚集索引 B.非聚集索引 C.主键索引 D. 唯一索引 7. SQL Server 的字符型系统数据类型主要包括()。 A.Int 、 money、 char B. char、 varchar、 text C. datetime、 binary 、 int D. char 、 varchar、 int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配0 个到多个字符的通配符是() A.* B.% C.- D.? 10、 SELECT 语句中与HAVING 子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15 题使用如下数据: 当前盘当前目录下有数据库db_stock, 其中有表stock 的内容是 : 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机 9.96 上海 600605 轻工机械14.59 上海 000001 深发展 7.48 深圳 000002 深万科 12.50 深圳 11、有如下SQL 语句 create view stock_view as select * from stock where 交易所 =”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL 语句

数据库考试习题与答案

第一章习题 一、判断题 1.安装Microsoft SQL Server 2005 企业版对操作系统的最低要求可以是Microsoft Windows XP Professional SP2。( 错) 2.每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务器。(对) 二、填空题 3. MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server服务的图形化工具称为SQLServer 配置管理器。 三、选择题 4. 下列系统数据库中,(D)数据库不允许进行备份操作。 A. master B. msdb C. model D. Tempdb 5. 下列关于SQL Server 2005实例的说法中,正确的是(C)。 A.不同版本的默认实例数可能不一样多 B.不同版本的命名实例数一定一样多 C.不同版本的默认实例只有一个,命名实例数不一样多 D.不同版本的命名实例只有一个,默认实例数不一样多 6. 下列(C)数据库是SQL Server 2005在创建数据库时可以使用的模板。 A. master B. msdb C. model D.mssqlsystemresoure 7. 默认情况下,SQL Server 2005的系统数据库有(B)。 A. 1个 B.5个 C. 4个 D.6个 8. 在一台计算机上能安装(A)个默认实例。 A. 1 B. 50 9. 访问默认实例使用(B)作为实例名。 A. 计算机名 B. MSSQLSERVER 10. 下列叙述中正确的是(A)。 A. SQL SERVER实例是提供服务的, 所以一个SQL Server实例称为一个数据库服务器 B. SQL SERVER实例也叫做数据库引擎 C. 若计算机上安装多个SQL SERVER实例,则它们可以相互管理 11. SQL SERVER 2005实例主要提供哪些服务?(BCD)//全文搜索、报表服务、通知服务 A. 查询服务 B. 数据库服务 C. 集成服务 D. 分析服务 12. 一台计算机的计算机名为computer,若在该计算机上打开配置管理器看到如图1所示内容,则说明本机上已安装3个实例,其实例名分别是(BCD) A. computer B. MSSQLSERVER C. computer\SQLEXPRESS D. computer\SERVER 13. 连接数据库服务器时需要提供哪些信息?(A或者B) A. 要连接的服务器名 B. 身份验证信息 C. 连接协议信息 14. 能否将他人计算机上运行的实例注册到你的SSMS中?(A) A. 不能 B. 能

2019sql数据库期末考试题及答案

一、单选题(共10 道试题,共50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是(C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 满分:5 分 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. Insert D. Alter 满分:5 分 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40

满分:5 分 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 满分:5 分 5. 记录数据库事务操作信息的文件是(D )。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 满分:5 分 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。 A. SELECT * FROM CP WHERE 产品名称LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产

品名称LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 满分:5 分 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 满分:5 分 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 满分:5 分

SQL Server数据库笔试题和答案

一单词解释(2分/个) 34分 Data 数据Database 数据库RDBMS 关系数据库管理系统GRANT 授权 REVOKE 取消权限DENY 拒绝权限DECLARE 定义变量PROCEDURE存储过程 事务Transaction 触发器TRIGGER 继续continue 唯一unqiue 主键primary key 标识列identity 外键foreign key 检查check 约束constraint 二编写SQL语句(5分/题) 50分(包含笔试题问题和解答答案) 1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话Create table stu (学号int , 姓名varchar(8), 年龄int, 性别varchar(4), 家庭地址varchar(50), 联系电话int ); 2) 修改学生表的结构,添加一列信息,学历 Alter table stu add 学历varchar(6); 3) 修改学生表的结构,删除一列信息,家庭住址 Alter table stu drop column 家庭地址 4) 向学生表添加如下信息: 学号姓名年龄性别联系电话学历 1A22男123456小学 2B21男119中学 3C23男110高中 4D18女114大学 Insert into stu values(1,?A?,22,?男?,123456,?小学?) Insert into stu values(2,?B?,21,?男?,119,?中学?) Insert into stu values(3,?C?,23,?男?,110,?高中?) Insert into stu values(4,?D?,18,?女?,114,?大学?) 5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专” Update stu set 学历=?大专? where 联系电话like …11%? 6) 删除学生表的数据,姓名以C开头,性别为…男?的记录删除 Delect from stu where 性别=?男? and 姓名like …c%? 7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来 Select 姓名,学号from stu where 年龄<22 and 学历=?大专?

数据库考试习题及答案

数据库考试习题及答案 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

第一章习题 一、判断题 1.安装Microsoft SQL Server 2005 企业版对操作系统的最低要求可以是Microsoft Windows XP Professional SP2。( 错) 2.每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务器。(对) 二、填空题 3. MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server服务的图形化工具称为SQLServer 配置管理器。 三、选择题 4. 下列系统数据库中,(D)数据库不允许进行备份操作。 A. master B. msdb C. model D. Tempdb 5. 下列关于SQL Server 2005实例的说法中,正确的是(C)。 A.不同版本的默认实例数可能不一样多 B.不同版本的命名实例数一定一样多 C.不同版本的默认实例只有一个,命名实例数不一样多 D.不同版本的命名实例只有一个,默认实例数不一样多

6. 下列(C)数据库是SQL Server 2005在创建数据库时可以使用的模板。 A. master B. msdb C. model 7. 默认情况下,SQL Server 2005的系统数据库有(B)。 A. 1个个 C. 4个个 8. 在一台计算机上能安装(A)个默认实例。 A. 1 B. 50 9. 访问默认实例使用(B)作为实例名。 A. 计算机名 B. MSSQLSERVER 10. 下列叙述中正确的是(A)。 A. SQL SERVER实例是提供服务的, 所以一个SQL Server实例称为一个数据库服务器 B. SQL SERVER实例也叫做数据库引擎 C. 若计算机上安装多个SQL SERVER实例,则它们可以相互管理 11. SQL SERVER 2005实例主要提供哪些服务(BCD)查询服务 B. 数据库服务 C. 集成服务 D. 分析服务 12. 一台计算机的计算机名为computer,若在该计算机上打开配置管理器看到如图1所示内容,则说明本机上已安装3个实例,其实例名分别是(BCD)

数据库SQL语句练习题

一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表 (Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。 表1-1数据库的表结构 表(一)Student 属性名数据类型可否为空含义 Sno Char(3) 否学号(主码) Sname Char(8) 否学生姓名 Ssex Char(2) 否学生性别 Sbirthday datetime 可学生出生年月 Class Char(5) 可学生所在班级 创建表:Create table Student (Sno Char(3), Sname Char(8), Ssex Char(2), Sbirthday datetime, Class Char(5)) 表(二)Course 属性名数据类型可否为空含义 Cno Char(5) 否课程号(主码) Cname Varchar(10) 否课程名称 Tno Char(3) 否教工编号(外码) 创建表:Create table Course (Cno Char(5), Cname Varchar(10), Tno Char(3)) 表(三)Score 属性名数据类型可否为空含义 Sno Char(3) 否学号(外码) Cno Char(5) 否课程号(外码) Degree Decimal(4,1) 可成绩 主码:Sno+ Cno 创建表:Create table Score (Sno Char(3), Cno Char(5), Degree Decimal(4,1)) 表(四)Teacher 属性名数据类型可否为空含义 Tno Char(3) 否教工编号(主码)

SQL数据库题库及答案

实训13 1.使用T-SQL语句创建“Windows身份验证”登录名(对应的Windows用户为testwin)。 create login [stu1001\testwin] from windows exec sp_addlogin 'aa' , '123' /*用存储过程创建sql登录名*/ 2.使用T-SQL语句查看所创建的登录名“testwin”的属性。 select loginname,sid from 使用T-SQL删除登录名“testwin”。drop login [stu1001\testwin] 4.使用SSMS创建与登录名“testsql”对应的数据库用户“sqluser”(对应于数据库WebShop),并查看其属性 5.使用SSMS删除数据库用户“sqluser”。 6.使用T-SQL语句创建与登录名“testwin”对应的数据库用户“winuser”。 use webshop create user [winuser] for login [stu1001\testwin] 7.将数据库用户“winuser”修改为“win”。 use webshop alter user [winuser] with name=win /* Alter User的语法结构: ALTER USER userName WITH [ ,...n ]

::= NAME = newUserName | DEFAULT_SCHEMA = { schemaName | NULL } | LOGIN = loginName | PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ] | DEFAULT_LANGUAGE = { NONE | | | } */ 1.使用SSMS或T-SQL语句查看WebShop数据库中数据库用户的信息。 select * from SYSUSERS 2.使用T-SQL删除数据库用户“win”。 drop user win 3.使用SSMS将数据库用户sqluser添加到db_owner角色中。 4.使用T-SQL在WebShop数据库中创建用户定义数据库角色 “db_myuser”。 use webshop create role db_myuser 5.将数据库用户“sqluser”添加到“db_myuser”角色中。(截图以示结果) 6.使用SSMS授予数据库用户“sqluser”对Goods表的查询权限。(截图以示结果) grant select on Goods to sqluser 7.查看Goods表的权限属性。(截图以示结果) 8.使用T-SQL授予数据库用户“sqluser”对Goods表的插入和修改权限,并查看授权后的Goods表的权限属性。

数据库sql考试题库doc资料

数据库s q l考试题库

一、选择题 1.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。 A.原子性 B.一致性 C.独立性 D.持久性 2.表示两个或多个事务可以同时运行而不互相影响的是()。 A.原子性 B.一致性 C.独立性 D.持久性 3.事务的持续性是指() A. 事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C. 一个事务内部的操作对并发的其他事务是隔离的 D. 事务必须使数据库从一个一致性状态变到另一个一致性状态 4.SQL语言中的COMMIT语句的主要作用是()。 A.结束程序 B.返回系统 C.提交事务 D.存储数据 5.SQL语言中用()语句实现事务的回滚 A.CREATE TABLE B.ROLLBACK C.GRANT和REVOKE https://www.wendangku.net/doc/1a6193510.html,MIT 6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为()。 A.介质故障 B.运行故障 C.系统故障 D.事务故障 7.在DBMS中实现事务持久性的子系统是()。 A.安全管理子系统 B.完整性管理子系统 C.并发控制子系统 D.恢复管理子系统 8.后援副本的作用是()。 A.保障安全性 B.一致性控制 C.故障后的恢复 D.数据的转储 9.事务日志用于保存()。 A.程序运行过程 B.程序的执行结果 C.对数据的更新操作 D.对数据的查询操作 10.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括()。 A.数据字典、应用程序、数据库后备副本 B.数据字典、应用程序、审计档案 C.日志文件、数据库后备副本 D.数据字典、应用程序、日志文件 11.为了防止一个用户的工作不适当地影响另一个用户,应该采取()。 A. 完整性控制 B. 访问控制 C. 安全性控制 D.并发控制

sql数据库期末考试题及答案

一.单选題(共 1 0道试题,共50分。)V 1、SQL Serve r中,保存着每个数据库对象得信息得系统表就是(C)。 A、sy s databa s e s B > S y scolumn s C、Syso b je c ts D、Sys logs 2、在存在下列关键字得SQL语句中,不可能出现Where子句得就是(D )° A、U p d ate B、De Iet e C、Ins e rt D、Alte r 3、在查询语句得Wher e子句中,如果出现了"age B e t w e en 30 and 40°,这个表达式等同于(A )。 A、age> = 30 and age<=40 B、 a g e>=30 or a g e<=40 C、a g e >30 and ag e <4 0 D、age>30 o r age<40 4、如果要在一张管理职工工资得表中限制工资得输入范围,应使用(D )约束。 A、PDRIMARY KEY B、FOREIGN KEY C、u n i que D、 c h eck 5、记录数据库事务操作信息得文件就是(D )。 A、数据文件 B、索引文件 C、辅助数据文件 D、日志文件 6、要查询XSH数据库CP表中产品名含有“冰箱”得产品情况,可用(C)命令。 A、SELECT * FROM CP WHERE 产品名称LIKE '冰箱' B、SELECT * FROM XSH WHERE 产品名称L IKE '冰箱' C、SE L E CT * F R OM CP WHERE 产品名称LIKE 饿冰箱%' D、SELECT * FROM CP WHERE 产品名称='冰箱' 7、储莆所有多个储户,储户能够在多个储舊所存取款,储爺所与储户之间就是(D )。 A、一对一得联系 B、一对多得联系 C、多对一得联系 D、多对多得联系 8、SQL得聚集函数COUNT. SUM. AVG. MAX. MIN不允许出现在查询语句得(D)子句之中。 A、SELECT B、H AVING C、GROUP BY…HAVI NG D、WHERE 9、列值为空值(NULL),則说明这一列(C)o A、数值为0 B、数值为空格

数据库SQL SERVER期末考试题

考试题型 一、选择题(本大题共20个小题,每个小题1分,共20分) 二、填空题(本大题共10个小题,每小题2分,共20分) 三、请使用SQL命令完成以下操作(本大题共5小题,每小题4分,共20分) 四、简答题(本大题共4小题,每小题5分,共20分) 五、设计题(本大题共2小题,每小题10分,共20分) 数据库原理与应用复习题 一、选择题 1、下面存在于服务器端的组件是:()。 A、服务管理器 B、企业管理器组件 C、查询分析器组件 D、导入导出组件 2、下面描述错误的是()。 A、每个数据文件中有且只有一个主数据文件。 B、日志文件可以存在于任意文件组中。 C、主数据文件默认为primary文件组。 D、文件组是为了更好的实现数据库文件组织。 3、SQLserver数据库文件有三类,其中主数据文件的后缀为(): A、.ndf B、.ldf C、.mdf D、.idf 4、下面标志符不合法的是:()。 A、[mydelete] B、_mybase C、$money D、trigger1 5、下列说法中正确的是: A、SQL中局部变量可以不声明就使用 B、SQL中全局变量必须先声明再使用 C、SQL中所有变量都必须先声明后使用 D、SQL中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 6、下面字符串能与通配符表达式[ABC]%a进行匹配的是:()。 A、BCDEF B、A_BCD C、ABC_a D、A%a 7、下列说法正确的是_______。 A、视图是观察数据的一种方法,只能基于基本表建立。 B、视图是虚表,观察到的数据是实际基本表中的数据。 C、索引查找法一定比表扫描法查询速度快。 D、索引的创建只和数据的存储有关系。 8、下列途径哪个不是实现值域完整性_______。 A、rule(规则) B、primarykey C、notnull D、default

数据库笔试题(考察基本SQL能力)

注意:尽量不要用“in”及“=”,用关联查询。 表:--1.学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名, Sage 出生年月,Ssex 学生性别 --2.课程表 Course(C#,Cname,T#) -- C# 课程编号,Cname 课程名称,T# 教师编号 --3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名 --4.成绩表 SC(S#,C#,score) -- S# 学生编号,C# 课程编号,score 分数 题目: 1、查询“01”课程比“02”课程成绩高的学生的信息及课程分数? Select s.S#, s.Sname, s.Sage, s.Ssex, middle.score01, middle.score02 from Student s, ( Select a.S#, a.score as score01, b.scor e as score02 from SC a, SC b where a.S#=b.S# and a.C#=’01’ and b.C#=’02’ and a.score > b.score) middle where s.S# = middle.S#; 2、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩? Select s.S#, s.Sname, middle.avgScore from Student s, (Select S#, avg(score) as avgScore from SC group by S# having avgScore>=60) middle where s.S# = middle.S#; 3、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩? Select s.S#, s.Sname, middle.Cs, middle.Ss from Student s, (Select S#, count(C#) as Cs, sum(score) as Ss from SC group by S# ) middle Where s.S# = middle.S#; 4、查询学过“张三”老师授课的同学的信息? Select s.S#, s.Sname, s.Sage, s.Ssex from Student s, Course c, Teacher t, SC sc Where t.Tname = “张三”and c.T# = t.T# And c.C# = sc.C# and sc.S# = s.S#; 5、查询学过编号为“01”并且也学过编号为“02”的课程的同学的信息? Select s.* from Student s, SC sc01, SC sc02 Where sc01.C#=’01’ and sc02.C#=’02’ And s.S#=sc01.S# and s.S#=sc02.S#; 6、查询没有学全所有课程的同学的信息? Select count(distinct C#) from SC; -- 记录为total Select s.* from Student s, (Select S#, count(distinct C#) as cs from SC group by S# having cs< total) middle Where s.S# = middle.S#;

最新数据库SQL期末考试复习题修改版

2012-2013 SQL数据库期末考试复习题 一、数据库操作题: 1.为学生选课管理系统创建名为“stuCourse”的数据库。 (1)主数据库文件和日志文件的逻辑分别为stuCourse _data和stuCourse _log。 (2)物理文件存放在d:\data文件夹中。 create database stuCourse on PRIMARY( name= stuCourse_data, filename='d:\data\stuCourse_data.mdf' ) log on ( name= stuCourse_log, filename='d:\data\stuCourse_log.ldf', ) 2.为学生选课管理系统数据库(stuCourse)创建表,表结构如下。 (1)用SQL语句创建学生表,学生(学号,姓名,性别,年龄,系别),并设置约束:性别=‘男’或“女”。 (2)创建选课表,选课(学号,分数,课程编号,教师编号)。 3. 设计其E-R图,并标示出实体的主码。 4.用SQL语句插入数据,数据如表4-21~表4-25所示。 表4-21 学生表数据 表4-22选课表数据

5、对stuCourse数据库进行以下查询: 1.查询全体学生的学号、姓名和年龄。 select学号,姓名,年龄from学生表 2.查询选修了课程的学生号。 select distinct学号from选课表 3.查询选修课程号‘C3’的学号和成绩。 select学号,分数from选课表where课程编号='C3' 4.查询成绩高于85分的学生的学号、课程号和成绩。 select学号,课程编号,分数from选课表where分数>85 5.查询选修了C1或C2且分数大于等于85分的学生和学号、课程号和成绩。 select学号,课程编号,分数from选课表 where分数>85 and课程编号='C1'or课程编号='C2' 6.查询选修C1或C2的学生的学号、课程号和成绩。 select学号,课程编号,分数from选课表 where课程编号='C1'or课程编号='C2' 7.查询所有姓张的学生的学号和姓名。 select学号,姓名from学生表where姓名like'张%' 8.查询选修C1的学生姓名和成绩,并按成绩降序排列。 select s.姓名,x.分数 from学生表as s,选课表as x where x.课程编号='C1'and s.学号=x.学号 order by x.分数desc 9.查询与学生"宋江"相同系学生的学号和姓名。 select学号,姓名 from学生表 where系别=(select系别from学生表where姓名='宋江') 10.在分组查询中使用HA VING条件,查询平均成绩大于85的学生学号及平均成绩。 select avg(分数)as平均分 from选课表 group by学号 HAVING avg(分数)>85

相关文档
相关文档 最新文档