当前位置:文档之家› SQL操作复习题及答案

SQL操作复习题及答案

SQL操作复习题及答案
SQL操作复习题及答案

1 数据库操作

1.创建数据库:

操作1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。

参考答案:

create database Test

ON primary

(

name = test_data,

filename = 'd:\test\test_data.mdf',

size = 5MB,

maxsize = unlimited,

filegrowth = 1MB

)

LOG ON

(

name = test_log,

filename = 'd:\test\test_log.ldf',

size = 1MB,

maxsize = 5MB,

filegrowth = 10%

)

GO

2.查看数据库属性:

操作1.2:使用T-SQL语句查看数据库test属性

参考答案:

EXEC sp_helpdb test

3.删除数据库:

操作1.3:使用T-SQL语句删除数据库test

参考答案:

drop database Test

2 表操作

1.创建表:

操作2.1:创建学生表:

参考答案:

USE test

GO

CREATE TABLE student

(

st_id nVarChar(9) primary key NOT NULL ,

st_nm nVarChar(8) NOT NULL ,

st_sex nVarChar(2) NULL ,

st_birth datetime NULL ,

st_score int NULL ,

st_date datetime NULL ,

st_ from nVarChar(20) NULL ,

st_dpid nVarChar(2) NULL ,

st_ mnt tinyint NULL

)

GO

操作2.2:创建课程信息表:

USE test

GO

CREATE TABLE couse

(

cs_id nVarChar(4) primary key NOT NULL ,

cs_nm nVarChar(20) NOT NULL ,

cs_tm int NULL ,

cs_sc int NULL

)

GO

操作2.3:创建选课表:

USE test

GO

CREATE TABLE couse

(

cs_id nVarChar(4) NOT NULL ,

st_id nVarChar(9) NOT NULL ,

score int NULL ,

sltdate datetime NULL

)

GO

操作2.4:创建院系信息表:

USE test

GO

CREATE TABLE dept

(

dp_id nVarChar(2) NOT NULL ,

dp_nm nVarChar(20) NOT NULL ,

dp_drt nVarChar(8) NULL ,

dp_tel nVarChar(12) NULL

)

GO

2.修改表结构:

(1)向表中添加列:

操作2.5:为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)参考答案:

ALTER TABLE dept ADD dp_count nvarchar(3) NULL (2)修改列数据类型:

操作2.6:修改“dept”表的“dp_count”列数据类型为int

参考答案:

ALTER TABLE dept ALTER COLUMN dp_count int NULL

(3)删除表中指定列:

操作2.7:删除“dept”表的“dp_count”列

参考答案:

ALTER TABLE dept DROP COLUMN dp_count

3.删除表

操作2.8:删除“dept”表

参考答案:

DROP TABLE student

4.向表中输入数据记录

操作2.9:分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录

3 数据完整性

1.空值约束( NULL )

操作3.1:将student表中的st_sex列属性更改为NOT NULL

参考答案:

ALTER TABLE student ALTER COLUME st_nm nVarChar(8) NOT NULL

2.默认值约束( DEFAULT )

操作3.2:将student表中的st_from列默认值设置为“陕西省”

参考答案:

ALTER TABLE student ADD DEFAULT '陕西省' FOR st_from

3.默认值对象

操作3.3:创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。

参考答案:

CREATE DEFAULT df_today AS Getdate( )

GO

EXEC sp_bindefault df_today, 'slt_couse.sltdate'

GO

EXEC sp_unbindefault 'slt_couse.sltdate'

GO

DROP DEFAULT df_today

GO

4.检查约束( CHECK )

操作3.4:将slt_couse表中的score列的检查约束设置为>=0且<=100

参考答案:

ALTER TABLE slt_couse ADD CHECK (score>=0 AND score<=100)

5.规则约束对象

操作3.5:创建规则约束对象rl_sex,用于检查性别的取值仅限于“男”和“女”,并将其绑定到student 表中的st_sex列,然后取消绑定,最后删除规则约束对象rl_sex。

参考答案:

CREATE RULE rl_sex AS @chksex ’男’ OR @chksex=’女’

CREATE RULE rl_sex AS @chksex IN (’男’, ’女’)

GO

EXEC sp_bindrule rl_sex, 'student.st_sex'

GO

EXEC sp_unbindrule 'student.st_sex'

GO

DROP RULE rl_sex

GO

6.主键

操作3.6:将dept表中的dp_id列设置为主键

参考答案:

ALTER TABLE dept ADD PRIMARY KEY (dp_id)

7.唯一性约束( UNIQUE )

操作3.7:将dept表中的dp_nm列设置为唯一性约束

参考答案:

ALTER TABLE dept ADD UNIQUE (dp_nm)

8.标识列

操作3.8:向slt_couse表中添加标识列id,第1行默认值为1,相邻两个标识列间的增量为1

参考答案:

ALTER TABLE slt_couse ADD id INT IDENTITY(1,1) NOT NULL

9.外键( FOREIGN KEY )

操作3.9:被参照表为dept,参照表为student

参考答案:

ALTER TABLE student

ADD FOREIGN KEY (st_dpid) REFERENCES dept(dp_id)

4 数据更新

1.表中插入数据

操作4.1:向dept表插入一条记录,系号11,系名自动控制系,系主任为李其余,电话81234567 INSERT INTO dept VALUES('11', '自动控制系', '李其余', '81234567') 操作4.2:向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为1990年9月9日,系号为11,其余字段为NULL或默认值

INSERT INTO student(st_id, st_nm, st_sex, st_birth, st_dpid)

VALUES ('070201001', '王小五', '男', '1990.9.9', '11' )

操作4.3:向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值INSERT INTO couse(cs_id, cs_nm) VALUES ('1234', '操作系统') 操作4.4:向slt_couse表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值INSERT INTO slt_couse(cs_id, st_id) VALUES ('1234', '070201001')

2.修改表中数据

操作4.5:修改student表记录,将王小五的入学成绩改为88

UPDATE student SET st_score=88 WHERE st_nm='王小五'

操作4.6:修改couse表记录,将所有记录的学分改为4,学时改为64

UPDATE couse SET cs_tm=64, cs_sc=4

操作4.7:修改slt_couse表记录,将课程号为1234,学名为070201001的记录的成绩改为77 UPDATE slt_couse SET score=77 WHERE cs_id='1234' AND st_id='070201001'

3.删除表中数据

操作4.8:删除slt_couse表记录,将课程号为1234,学名为070201001的记录删除

DELETE FROM slt_couse WHERE cs_id='1234' AND st_id='070201001' 操作4.9:删除couse表记录,将课程号为1234的记录删除

DELETE FROM couse WHERE cs_id='1234'

5 数据查询(1)——简单查询

(1)查询表中所有的列

操作5.1:查询所有系的信息

SELECT * FROM dept

(2)查询表中指定列的信息

操作5.2:查询所有的课程号与课程名称

SELECT cs_id, cs_nm FROM couse

(3)在查询列表中使用列表达式

操作5.3:在查询student表时使用列表达式:入学成绩+400

SELECT st_id, st_nm, st_score, st_score+400 AS new_score

FROM student

(4)重新命名查询结果

操作5.4:使用AS关键字为dept表中属性指定列名:系号、系名、系主任、联系电话SELECT dp_id AS 系号, dp_nm AS 系名, dp_drt AS 系主任, dp_tel AS联系电话

FROM dept

操作5.5:使用"="号为couse表中属性指定列名:课程号、课程名、学时(=cs_sc*16)、学分SELECT 课程号=cs_id, 课程名=cs_nm, 学分=cs_sc, 学时=cs_sc*16

FROM couse

(5)增加说明列

操作5.6:查询dept表的系号、系名和系主任,向查询结果中插入说明列:系号、系名和系主任SELECT '系号:', st_id, '系名:', st_nm, '系主任:', st_drt

FROM dept

(6)查询列表中使用系统函数

操作5.7:显示所有学生的学号、姓名、性别和入学年份

SELECT st_id, st_nm, st_sex, DATEPART(yy,st_birth) AS 入学年份

FROM student

操作5.8:显示所有学生学号、姓名、性别和班级(学号前6位)

SELECT st_id, st_nm, st_sex, LEFT(st_id, 6) AS 班级

FROM student

(7)消除查询结果中的重复项

操作5.9:显示所有学生班级

SELECT DISTINCT LEFT(st_id,6) AS 班级 FROM student

(8)取得查询结果的部分行集

操作5.10:显示前5条学生记录信息

SELECT TOP 5 * FROM student

操作5.11:显示前25%条学生记录信息

SELECT TOP 25 PERCENT * FROM student

操作5.12:显示前n条学生记录信息,n为局部变量

DECLARE @n INT

SET @n = 4

SELECT TOP @n * FROM student

6 数据查询(2)——条件查询

1.使用关系表达式表示查询条件

操作6.1:查询dept表中系号为11的院系信息

SELECT * FROM dept WHERE dp_id = '11'

操作6.2:查询student表中11系的学生学号、姓名、性别和所在系编号

SELECT st_id, st_nm, st_sex, st_dpid FROM student

WHERE st_dpid = '11'

操作6.3:查询student表中2008年及以后入学的学生信息

SELECT * FROM student

WHERE DATEPART( yy, st_date )>= 2008

操作6.4:在查询student表080808班学生的学号、姓名、性别和入学成绩

SELECT st_id, st_nm, st_sex, st_score FROM student

WHERE Left(st_id,6)='080808'

2.使用逻辑表达式表示查询条件

操作6.5:查询student表中非11系的学生信息

SELECT * FROM student WHERE NOT (st_dpid = '11')

操作6.6:查询选修了1002号课程且成绩在60以下的学生学号

SELECT st_id FROM slt_couse

WHERE (cs_id='1002') AND (score<60)

操作6.7:查询2007年入学的11系所有男生信息

SELECT * FROM student

WHERE DATEPART(yy,st_date)=2007 AND st_dpid='11' AND st_sex='男' 操作6.8:查询11系和12系的学生信息

SELECT * FROM student

WHERE st_dpid='11' OR st_dpid='12'

操作6.9:查询11系和12系所有2007年入学的学生信息

SELECT * FROM student

WHERE (st_dpid='11' OR st_dpid='12') AND DATEPART(yy,st_date)=2007 3.使用LIKE关键字进行模糊查询

操作6.10:查询所有“计算机”开头的课程信息

SELECT * FROM couse WHERE cs_nm LIKE '计算机%'

操作6.11:查询所有由三个字组成的“王”姓学生信息

SELECT * FROM student WHERE st_nm LIKE '王__'

操作6.12:查询所有课程名中包含“信息”的课程信息

SELECT * FROM couse WHERE cs_nm LIKE '%信息%'

操作6.13:查询学生姓名介于王姓到张姓的信息

SELECT * FROM student

WHERE st_nm LIKE '[王-张]%'

4.使用Between…And关键字进行查询

操作6.14:查询在1989.7.1到1990.6.30之间出生的学生信息

SELECT st_id, st_nm, st_sex, st_birth FROM student

WHERE st_birth BETWEEN '1981.7.1' AND '1999.6.30'

操作6.15:查询选修了1001号课程且成绩在60到80之间的学生选课信息

SELECT * FROM slt_couse

WHERE cs_id='1001' AND (score BETWEEN 60 AND 80)

5.使用IN关键字进行查询

操作6.16:查询11系、12系、13系的学生信息

SELECT * FROM student WHERE st_dpid IN ('11', '12','13') 操作6.17:查询所有张,王,李,赵姓的学生的学号、姓名、性别

SELECT st_id, st_nm, st_sex FROM student

WHERE Left(st_nm,1) IN ('张','王','李','赵')

6.使用[NOT] NULL关键字进行查询

操作6.18:查询所有生源为非空的学生信息

SELECT * FROM student WHERE st_from IS NOT NULL

操作6.19:查询选修了1001号课程且成绩为空的学生选课信息

SELECT * FROM slt_couse

WHERE cs_id='1001' AND score IS NULL

7 数据查询(3)——查询排序与查询结果存储

操作7.1:查询课程信息,按课程名称降序排序

SELECT * FROM couse ORDER BY cs_nm DESC

操作7.2:查询选修了1001号课程成绩非空的学生学号和成绩,并按成绩降序排序SELECT st_id, score FROM slt_corse

WHERE cs_id='1001' AND score IS NOT NULL

ORDER BY score DESC

操作7.3:查询11系学生学号、姓名和年龄,按年龄升序排序

SELECT st_id,st_nm,DATEPART(yy,GETDATE( ))-DATEPART(yy,st_birth) AS age FROM student

ORDER BY age ASC

操作7.4:查询学生信息,按姓名升序排序,再按系号降序排序

SELECT * FROM student ORDER BY st_nm, st_dpid DESC

操作7.5:创建学生表副本student01,仅保留学生学号、姓名和性别

SELECT st_id, st_nm, st_sex INTO student01 FROM student

操作7.6:查询陕西籍学生,将结果保存在新表st_shanxi

SELECT * INTO st_shanxi

FROM student

WHERE st_from='陕西省'

操作7.7:查询选修了1001号课程学生的选课信息,按学号升序排序,将结果保存在新表slt1001 SELECT * INTO slt1001 FROM slt_corse

WHERE cs_id='1001' ORDER BY st_id

操作7.8:用局部变量@stage保存学生张三的年龄

DECLARE @stage int

SELECT @stage = DATEPART(yy,GETDATE())-DATEPART(yy,st_birth)

FROM student

WHERE st_nm='张三'

操作7.9:用局部变量@name和@stscore保存070101班按学号排序后最后一个学生的姓名和入学成绩DECLARE @name nVarChar(8), @stscore int

SELECT @name = st_nm, @stscore = st_score

FROM student

WHERE LEFT(st_id,6)='070101'

ORDER BY st_id

8 数据查询(4)——查询统计与汇总

操作8.1:查询课程总数

SELECT COUNT( * ) FROM couse

操作8.2:查询选修1001号课程的学生人数

SELECT COUNT(st_id)

FROM slt_couse

Where cs_id = '1001'

操作8.3:查询被选修课程的数量

SELECT COUNT( DISTINCT cs_id ) FROM slt_couse

操作8.4:查询选修070101班学生的平均入学成绩

SELECT AVG(st_score)

FROM student

WHERE LEFT(st_id,6)='070101'

操作8.5:查询070101001号学生选修课程的数量、总分以及平均分

SELECT COUNT(cs_id) AS 课程数量,SUM(score) AS 总分,AVG(score) AS 平均分FROM slt_couse

WHERE st_id='070101001'

操作8.6:查询选修1001号课程的学生人数、最高分、最低分和平均分

SELECT COUNT(*) AS 学生人数, MAX(score) AS 最高分,

MIN(score) AS 最低分, AVG (score) AS 平均分

FROM slt_couse

WHERE cs_id='1001'

操作8.7:求各个课程号和相应的选课人数

SELECT cs_id, COUNT(st_id)

FROM slt_couse GROUP BY cs_id

操作8.8:统计各班人数

SELECT LEFT(st_id,6) AS 班级, COUNT(st_id) AS 人数

FROM student

GROUP BY LEFT(st_id,6)

操作8.9:依次按班级、系号对学生进行分类统计人数、入学平均分

SELECT st_dpid AS 系号, LEFT(st_id,6) AS 班级,

COUNT(st_nm) AS 人数, AVG(st_score) AS 均分

FROM student

GROUP BY LEFT(st_id,6), st_dpid

操作8.10:查询选修了均分在75以上的课程号及均分

SELECT cs_id AS 课程编号, AVG(score) AS 均分

FROM slt_couse

GROUP BY cs_id HAVING AVG(score)>75

操作8.11:查询选修了2门以上课程的学生学号

SELECT st_id FROM slt_couse

GROUP BY st_id HAVING COUNT(*)>2

操作8.12:明细汇总年龄<20的学生,并汇总学生数量、平均年龄

SELECT st_nm,DATEPART(yy,GETDATE( ))-DATEPART(yy,st_birth) AS 年龄

FROM student

WHERE DATEPART(yy,GETDATE())-DATEPART(yy,st_birth)<20

COMPUTE COUNT(st_nm),AVG(DATEPART(yy,GETDATE())-DATEPART(yy,st_birth)) 操作8.13:按班级明细汇总成绩<85分的学生,汇总学生数、均分

SELECT st_nm, LEFT(st_id,6) AS 班级, st_score

FROM student

WHERE st_score<85

ORDER BY 班级

COMPUTE COUNT(st_nm), AVG(st_score) BY 班级

9 数据查询(5)——连接查询

操作9.1:用SQL Server形式连接查询学生学号、姓名、性别及其所选课程编号

SELECT a.st_id, st_nm, st_sex, cs_id

FROM student a, slt_couse b

WHERE a.st_id = b.st_id

ORDER BY a.st_id

操作9.2:用ANSI形式连接查询学生学号、姓名、性别及其所选课程编号

SELECT a.st_id, st_nm, st_sex, cs_id

FROM student a INNER JOIN slt_couse b

ON a.st_id = b.st_id

ORDER BY a.st_id

操作9.3:用SQL Server形式连接查询学生学号、姓名及其所选课程名称及成绩SELECT a.st_id, st_nm, cs_nm, score

FROM student a, slt_couse b, couse c

WHERE a.st_id = b.st_id AND b.cs_id = c.cs_id

ORDER BY a.st_id

操作9.4:用ANSI形式连接查询学生学号、姓名及其所选课程名称及成绩

SELECT a.st_id, st_nm, cs_nm, score

FROM slt_couse a INNER JOIN student b ON a.st_id = b.st_id

INNER JOIN couse c ON a.cs_id = c.cs_id

ORDER BY b.st_id

操作9.5:查询选修了1002课程的学生学号、姓名及1001课程成绩

SELECT a.st_id, st_nm, score

FROM student a,slt_couse b

WHERE a.st_id = b.st_id AND b.cs_id = '1002'

ORDER BY b.st_id

操作9.6:查询选修了“数据结构”课程的学生学号、姓名及课程成绩

SELECT a.st_id, st_nm, score

FROM student a, slt_couse b, couse c

WHERE a.st_id=b.st_id AND b.cs_id=c.cs_id AND c.cs_nm='数据结构' ORDER BY a.st_id

操作9.7:用左外连接查询没有选修任何课程的学生学号、姓名

SELECT a.st_id, st_nm, score

FROM student a LEFT OUTER JOIN slt_couse b ON a.st_id = b.st_id WHERE b.cs_id IS NULL

ORDER BY b.st_id

操作9.8:用右外连接查询选修各个课程的学生学号

SELECT b.cs_id, a.st_id

FROM slt_couse a Right OUTER JOIN couse b ON a.cs_id = b.cs_id ORDER BY b.cs_id

10 数据查询(6)——子查询

操作10.1:用子查询对各班人数进行查询(新增列)

SELECT DISTINCT LEFT(a.st_id,6) AS 班级, 人数 =

( SELECT COUNT(st_id) FROM student b

WHERE LEFT(a.st_id,6) = LEFT(b.st_id,6)

)

FROM student a ORDER BY LEFT(a.st_id,6) ASC

操作10.2:用子查询对各课程的选课人数进行查询(新增列)

SELECT DISTINCT a.cs_id, 人数 =

( SELECT COUNT(st_id) FROM slt_couse b

WHERE a.cs_id = b.cs_id

)

FROM slt_couse a ORDER BY a.cs_id ASC

操作10.3:查询选修了1002课程成绩不及格的学生的学号、姓名和性别,并按姓名升序排序通过子查询实现:——使用IN关键字

SELECT st_id, st_nm, st_sex FROM student

WHERE st_id IN

( SELECT st_id FROM slt_couse

WHERE cs_id='1002' AND score < 60 )

ORDER BY st_nm

通过子查询实现:——使用比较运算符

SELECT st_id, st_nm, st_sex

FROM student a

WHERE

( SELECT score FROM slt_couse b

WHERE a.st_id = b.st_id AND cs_id = '1002' ) < 60

ORDER BY st_nm

操作10.4:查询“东方红”同学所在班的学生信息,并按姓名降序排序

通过子查询实现:——IN运算符

SELECT st_id, st_nm, st_sex FROM student

WHERE LEFT(st_dpid,6) IN

( SELECT Left(st_dpid,6) FROM student WHERE st_nm='东方红' ) ORDER BY st_nm DESC

通过自连接查询实现:——JOIN

SELECT s1.st_id, s1.st_nm, s1.st_sex

FROM student s1 JOIN student s2

ON LEFT(s1.st_dpid,6) = LEFT(s2.st_dpid,6)

WHERE s2.st_nm='东方红'

ORDER BY s2.st_nm

操作10.5:查询其它班比070511班某一学生的1002号课程成绩高的学生信息(ANY/ALL)SELECT * FROM slt_couse

WHERE score > ANY

( SELECT score FROM slt_couse

WHERE cs_id = '1002' AND LEFT(st_id,6)='070511' ) AND LEFT(st_id,6) <> '070511' AND cs_id = '1002'

操作10.6:查询其它班比070511班任一学生的1002号课程成绩高的学生信息(ANY/ALL)SELECT * FROM slt_couse

WHERE score > ALL

( SELECT score FROM slt_couse

WHERE cs_id = '1002' AND LEFT(st_id,6)='070511' ) AND LEFT(st_id,6) <> '070511' AND cs_id = '1002'

操作10.7:查询大于等于60分且且比1003课程平均成绩低的学生课程信息(Between…And)SELECT * FROM slt_couse a

WHERE a.score BETWEEN 60 AND

( SELECT AVG(b.score) FROM slt_couse b

WHERE b.cs_id='1003' )

操作10.8:查询系主任为“赵虎”的系的所有学生信息

通过子查询实现:——IN运算符

SELECT * FROM student

WHERE EXISTS

( SELECT * FROM dept

WHERE st_dpid = dp_id AND dp_drt='赵虎' )

通过子查询实现:——=运算符

SELECT * FROM student

WHERE st_dpid =

( SELECT dp_id FROM dept WHERE dp_drt='赵虎' )

11 数据查询(7)——数据更新与子查询

操作11.1:将070511班所有学生信息插入到表student01(st_id,st_nm,st_sex) INSERT INTO student01

SELECT st_id,st_nm,st_sex FROM student

WHERE LEFT(st_id,6)='070511'

操作11.2:生成1002号课程的成绩单student02(st_id,st_nm, score)

INSERT INTO student02

SELECT a.st_id,st_nm,score FROM student a, slt_couse b

WHERE a.st_id=b.st_id AND cs_id='1002'

操作11.3:将有不及格成绩的学生的st_mnt值更改为3

UPDATE student SET st_mnt=3

WHERE st_id IN

( SELECT DISTINCT st_id FROM slt_couse WHERE score < 60 ) 操作11.4:将没有被选修的课程的学分更改为0

UPDATE couse SET cs_sc=0

WHERE cs_id NOT IN

( SELECT DISTINCT cs_id FROM slt_couse )

操作11.5:删除5系学生的选课信息

DELETE FROM slt_couse

WHERE st_id IN

( SELECT st_id FROM student WHERE st_dpid = 5 )

操作11.6:删除学分为0的选课信息

DELETE FROM slt_couse

WHERE cs_id IN

( SELECT DISTINCT cs_id FROM slt_couse WHERE cs_id=0 )

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

一、单选题(共 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 9. 列值为空值(NULL),则说明这一列( C)。 A. 数值为0

SQL Server考试试题及答案

全国信息技术水平考试数据库应用系统设计技术水平证书)下2013年( )考试试卷(SQL Server) 第一大题:单选题 (30 分)。 1. (1数据模型的三要素不包括( ) 分数据完整性约(C) (A) 数据结构 (B) 数据操作数据恢复束 (D) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 2. (1 )。分) (逻辑独立物理独立性 (A) 结构独立性 (C) (B) (D) 分布独立性性中可有多个实体与之联B如果对于实体集 A中的每一个实体,实体集 3. 中也可有多个实体B中的每一个实体,实体集A系;反之,对于实体集(1分) )。B与之联系。则称实体集A与具有( 联: (B) 1n联系:m(C) :(A) 11联系 n 多种联系(D) 系 至少含有一个共当对关系R和S使用自然联接时,一般要求 4. (1R和S )。同的(分) 记 (C) (B) 元组(A) 关键字 属性录 (D) ,为5. 若关系模式上的函数依赖集F={AB->C,A->D,A->E}R(A,B,C,D,E) )。 BCNF(1分) 了满足,可以将R分解为( R2(A,E) R1(A,B,C,D) (A) R2(A,D,E) R1(A,B,C) (B) R1(A,B,C) R2(D,E) (C) (D) R1(A,B) R2(A,C,D,E) 分) )。 SQL语言查询一次的结果是一个( (1 6. 数据(D) 属性(C) 表(B) 元组(A) 库X1→Y, 7. (1 X1,使中,F)如果X→Y,且存在X的真子集在关系模式R(U,则称函数依赖) X→Y为()。分完全(C) (B) 平凡函数依赖(A) 部分函数依赖 (D) 传递函数依赖函数依赖)。在Transact-SQL中,下列命令能让程序完全跳出循环的是( 8 . (1CONTINU WAIT (B) (C) BREAK (D) (A) CASE ) 分E )。中,下列选项不属于数值型数据类型的是(在Transact-SQL 9 (1. (D) (B) DECIMAL (C) INTEGER (A) NUMERIC ) 分DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是()。 张_ (C) (B) 张(A) 张% & ^ (D) 张 1 下列聚合函数中正确的是()。 1. (*)

SQL考试试题及答案1

1 、SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示()D A. 零个字符 B. 1个字符 C. 多个字符 D. 以上都可以 2 、关系数据库中空值(NULL)相当于( ) D A. 零(0) B. 空白 C. 零长度的字符串 D. 没有输入 3 、一个电视经销商在表Tvtype 中维护库存的Tvs信息,下述哪条语句能显示价格最昂贵的三种电视机的信息?( ) C A. select top3 cDiscription from Tvtype order by iprice asc B. select cDiscription from Tvtype where max(iprice)>3 C. select top3 cDiscription from Tvtype order by iprice desc D. select cDiscription max(iprice) from Tvtype order by iprice 1、销售数据库Sales中存在这样的三张表,按要求完成下列题目: 1.客户表Cus(CusNo, CusName, Address,Tel) 2.产品表Pro(ProNo,ProName,price,Stocks) 3.销售表ProOut(CusNo,ProNo,Quantity,SaleDate) 备注:客户编号(CusNo),姓名(CusName),地址(Address),电话(Tel),产品编号(ProNo)品名(ProName),单价(price),库存数量(Stocks), 销售日期(SaleDate),客户编号(CusNo),产品编号(ProNo),销售数量(Quantity) (1)查询销售总数量超过100的产品号。(5分) (2)查询购买了产品号“P0002”的客户编号、客户名和电话,查询结果按客户名降序排列。(6分) (3)查询客户“C004”在2015年购买的产品号、数量。(7分) (4)创建视图viewPro,要求显示每种产品的销售量和销售金额(7分) 用户答案: (1) select ProNo as 产品号 from ProOut where quantity>100

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

一、单选题(共10 道试题,共50 分。) 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 9. 列值为空值(NULL),则说明这一列(C)。 A. 数值为0 B. 数值为空格 C. 数值是未知的 D. 不存在 10. 数据库的数据一般存放在(D)中。 A. 内存 B. CPU C. 寄存器 D. 磁盘 二、判断题(共10 道试题,共50 分。)V 1. 如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。 A. 错误 B. 正确 2. 在sysdatabases中,还记录着存储过程中每个参数的信息。A A. 错误 B. 正确 3. 在SELECT语句中,当使用ORDER BY子句时,一定要使用GROUP BY 子句。A A. 错误 B. 正确 4. 由于索引是独立的,删除表时,与该表相关的索引并不被删除。A A. 错误 B. 正确 5. 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf B A. 错误 B. 正确 6. 使用INSERT命令一次只能插入一行数据。A A. 错误 B. 正确

sql考试题及答案

sql考试题及答案 【篇一:sql试题及答案】 题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分) 1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。 a.dbms b.db c.dbs d.dba 2. 下列四项中,不属于sql2005实用程序的是()。 a.对象资源管理器 b.查询分析器 c.服务管理器 d.媒体播放器 3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。 a. master b. model c. pub d. msdb 4. 下列哪个不是sql 数据库文件的后缀。 a..mdf b..ldf c..tif d..ndf 5. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示() a.零个字符 b.1个字符串 c. 多个字符串 d. 以上都是 6. sql语言中,条件年龄 between 15 and 35表示年龄在15至35之间,且( )。 a.包括15岁和35岁 b.不包括15岁和35岁 c.包括15岁但不包括35岁 d.包括35岁但不包括15岁 7. sql的视图是从()中导出的。 a. 基本表 b. 视图 c. 基本表或视图 d. 数据库 8. 在sql语言中,建立存储过程的命令是() a、create procedure b、create rule c、create dure d、create file 9. sql语言中,删除表中数据的命令是( )。 a. delete b. drop

SQL模拟考试题及答案1

SQL模拟考试题及答案 选择题 数据库概念模式产生于数据库系统设计的 _C______ 阶段。 A 、规划 B 、需求分析 C 、概念设计 D 、逻辑设计 以下运算符中优先级最低的是( D )。 (A)+(加)(B)=(等于)(C)like (D)=(赋值) 在SQL中,SELECT语句的“SELECT TOP 10 ”表示查询结果中 ( A ) A.前10条记录 B. 后10条记录 C. 前10%条记录 D. 后10%条记录 下列哪些语句用于删除存储过程( C )? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他print round ( 998.88 , 0 ),round(999.99,-1) 执行结果是:C A 、 999.00 , 990.00 B 、 999.00 , 1000.00 C 、 998.00 , 1000.00 D 、 999.00 , 999.99 下列语句中正确的是 _____B__ 。表 score(sti_id,names,math,English,VB) A) select stu_id,sum(math) from score B) select sum(math),avg(VB) from score C) select * ,sum(english) from score D) delete * from score SELECT语句中与HAVING子句通常同时使用的是( C )子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 关系数据模型 ______D_ 。 A) 只能表示实体间的 1 : 1 联系 B) 只能表示实体间的 1 : n 联系 C) 只能表示实体间的 m : n 联系 D) 只能表示实体间的上述 3 种联系 SQL Server 2000 企业版可以安装在操作系统上。C (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP SQL Server 2000提供了一整套管理工具和实用程序,其中只负责启动、暂停和停止SQL Server的4种服务的是( D )。

(SQL-Server)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书 (SQL Server)考试试卷 第一大题:单选题(30 分) 1. (1分) 数据模型的三要素不包括()。 (A) 数据结构(B) 数据操作(C) 数据完整性约 束(D) 数据恢复 2. (1分) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 ()。 (A) 结构独立性(B) 物理独立性(C) 逻辑独立 性(D) 分布独立性 3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联 系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有()。 (A) 1:1联系(B) 1:n联系(C) n:m联 系(D) 多种联系 4. (1分) 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。 (A) 元组(B) 关键字(C) 记 录(D) 属性 5. (1分) 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。 (A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E) (C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E) 6. (1分) SQL语言查询一次的结果是一个()。 (A) 元组(B) 表(C) 属性(D) 数据

库 7. (1分) 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。 (A) 平凡函数依赖 (B) 部分函数依赖 (C) 完全 函数依赖 (D) 传递函数依赖 8 . (1分) 在Transact-SQL中,下列命令能让程序完全跳出循环的是( )。 (A) CASE (B) WAIT (C) BREAK (D) CONTINU E 9 . (1 分) 在Transact-SQL中,下列选项不属于数值型数据类型的是( )。 (A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是( )。 (A) 张 _ (B) 张 % (C) 张 ^ (D) 张& 1 1. (1 分) 下列聚合函数中正确的是( )。 (A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) AVG (*) 12. (1 分) 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是( )。 (A) SUM (B) ABS (C) LEFT (D) ROUND 13 . (1 分 ) 在SQL的SELECT语句中,与投影运算对应的子句是( )。 (A) SELECT (B) FROM (C) WHERE (D) GROU P BY 14. (1 分) 在SQL语言中,给表起别名应使用( )。 (A) AS (B) RENAME (C) SET (D) FOR 15. (1分) 在SELECT语句中使用GROUP BY SNO时,SNO必须() 。 (A) 在WHERE中出现 (B) 在FROM中出现

数据库考试习题及答案

数据库考试习题及答案

第一章习题 一、判断题 1.安装Microsoft SQL Server 2005 企业版对操作系统的最低要求可以是Microsoft Windows XP Professional SP2。( 错) 2.每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务器。(对) 二、填空题 3. M S 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)//全文搜索、报表服务、通知服务

sql练习题+答案

(一) 新建以下几个表 student(学生表): 其中约束如下: (1)学号不能存在相同的 (2)名字为非空 (3)性别的值只能是’男’或’女’ (4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系 (5)出生日期为日期格式 (6)年龄为数值型,且在0~100之间 create table student (

age smallint constraint d check (age between 0

cs(成绩表): 其中约束如下: (1)sno和cno分别参照student和course表中的sno,cno的字段 (2)cj(成绩)只能在0?100之间,可以不输入值 create table cs ( sno smallint not null references student ( sno ), ----定义成外键 cno smallint not null references course ( cno ), ----定义成外键 cj smallint constraint e check (cj between 0 and 100 ),---- 检查约束一—j(成绩)只能在~100 之间,可以不输入值 constraint f primary key ( sno , cno )---- 定 义学生学号和课程号为sc表的主键 ) course(课程表)

其约束如下: (1)课程号(cno)不能有重复的 (2)课程名(cname非空 (三)针对学生课程数据库查询 (1)查询全体学生的学号与姓名。 Select sno , sname from student (2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。 (3)查询全体学生的详细记录。 select * from student (4)查全体学生的姓名及其出生年份。 select sname , birth from student (5)查询学校中有哪些系。

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

sql复习试题(含答案)

一、单项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、Northwind是(B)。 A、系统数据库 B、示例数据库 C、数据库管理系统 D、数据库操作系统 2、数据库中不同记录之间之所以不同是根据(B)的不同加以区分的。 A、主键 B、外键 C、属性的定义 D、名称 3、下列是数据操纵语言的是(D)。 A、CREATE B、WHERE C、GROUP D、DELETE 4、GROUP BY 语句用于(C)。 A、添加 B、查询 C、分组统计 D、控制 5、SQL中真正存储数据的对象是(A)。 A、表 B、查询 C、窗体 D、报表 6、RIGHT JION语句的作用是(D)。 A、自然连接两个表 B、用WHERE语句定义连接条件 C、左边的记录全显示 D、右边的记录全显示 7、假设姓名字段为文本,要想查到名字是两个字且姓王的职工,在准则中输入(答案错误)。 A、“LIKE 王” B、“LIKE 王*” C、“LIKE 王%” D、LIKE 王*

8、关于视图下列说法正确的是(A)。 A、视图是个虚表 B、试图可以存数据 C、视图不可以用语句查询 C、不能实现安全管理 9、存储过程是(D)。 A、函数 B、视图 C、表格 D、程序 10、下列触发器说法正确的是(B)。 A、函数 B、可以自动触发 C、不可以更改 D、都不是 二、填空题(本大题共5小题,每小题2分,共10分)请在每小题的空格中填上正 确答案。错填、不填均无分。 1、参照完整性是指外键 ; 2、ODBC的中文意思是开放式数据库连接; 3、存储过程是一组为完成特定功能的SQL语句集; 4、在教学系统中,学生和课程之间是一对多关系; 5、GRANT TO 语句可以向一个用户赋予访问权限。 三、名词解释(本大题共5小题,每小题5分,共15分) 1、实体完整性 主码非空且不能重复

SQL基础考试题及答案

Page:1/6 SQL基礎考試題 課程編碼:C662704002 課程名:SQL基礎教程 工號:14090049 姓名:劉軍廣分數: 一、選擇題(2’*4=8’) 1.以下哪些屬於數據庫中存儲的基本對象( ABCD ) A.文本(text) B.視頻(video) C.浮點型數據 D. 2.以下對數據庫的描述哪一個是不正確的(BD ) A. 數據庫中的數據是可以永久存儲的 B. 數據庫是一臺可以看見的設備 C. 數據庫中的數據是有組織可共享的 D. 數據庫是用來存放各種紙本或多媒體文件檔案的 3.以下對關係模型的描述正確的是( A ) A 關係模型是對現實世界事物的抽象. B. 數據模型是由數據結構和數據操作2部份組成 C. IMS和Oracle數據庫是關係型數據庫 4.以下哪個圖示表示的是關係型模型?請指出每個圖所代表的數據模型類型( B ) A.網狀模型 B. 關係模型 C. 層次模型

Page:2/6 二、填空題:(1’*16=16’) 1.SQL的基本操作指令有select,update,delete,insert,create,drop,grant ,revoke 2. 觸發器有基於__行_______,___SQL語句______兩種級別的類型 3. 在Oracle中,取得查詢結果行數的關鍵字為rownum,取得行數的單行函數為count 4.SQL中去除重複資料的關鍵字是_distinct________ 5.集合查詢的指令有Union,Union All,intersect,except_ 三、判斷題(2’*6=12’) 1. 索引(Index)創建后不可以被修改( F ) 2. 主鍵(primary key)不可以為空Null(T ) 3. ‘’等於Null( F ) 4. SQL語句的Group By子句中可以使用欄位(Column)的別名(F ) 5. Having子句必須寫在Where子句之後(T ) 6. 在SQL中,字符串中的字符不區分大小寫(F ) 四、操作題:(44)

sql经典笔试题一(含答案)

一单词解释(2分/个) 34 Data 数据Database 数据库RDBMS 关系数据库管理系统GRANT 授权REVOKE取消权限DENY 拒绝权限DECLARE 定义变量PROCEDURE存储过程 Transaction事务TRIGGER触发器继续continue 唯一unqiue 主键primary key 标识列identity 外键foreign kdy 检查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) 向学生表添加如下信息: 学号姓名年龄性别联系电话学历 1 A 2 2 男123456 小学 2 B 21 男119 中学 3 C 23 男110 高中 4 D 18 女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%’

SQL试题及答案

一、选择题(每小题2分,共20分) (1) 调用一个名为fn1的内嵌表值函数,正确的方法是( C )。 A. select * from 表名 B. select fn1 from表名 C. select * from fn1 D. select fn1 from * (2) 触发器创建在( A )中。 A. 表 B. 存储过程 C. 数据库 D. 查询 (3) create procedure是用来创建( B )的语句。 A. 程序 B. 存储过程 C. 触发器 D. 函数 (4) 以下触发器是当对[表1]进行( D )操作时触发。 create trigger abc on 表1 for insert, update, delete as …… A. 只修改 B. 只插入 C. 只删除 D. 插入、修改、删除 (5) 要删除一个名为A1的存储过程,应用命令:( C )procedure A1。 A. delete B. alter C. drop D. execute (6) 触发器可引用视图或临时表,并产生两个特殊的表是( A )。 A. deleted、inserted B. delete、insert C. view、table D. view1,table1 (7) 执行带参数的存储过程,正确的方法为( B )。 A. 存储过程名(参数) B. 存储过程名参数 C. 存储过程名=参数 D. A,B,C三种都可以 (8) 当要将一个函数执行的结果返回给一个整型变量时,不正确的方法为( ABC )。 A. 函数名(@整型变量) B. 函数名 @整型变量 C. 函数名=@整型变量 D. @整型变量=函数名

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习题及答案

SQL习题及答案

实验 设有以下关系模式: S(SNO,SNAME,CITY) 其中,S表示别SUPPLIER(供应者),SNO为供应者代号,SNAME为供应者的名字,CITY为供应商所在的城市.主键为SNO。 P(PNO,PNAME,COLOR,WEIGHT) 其中,P表示PART(零件),PNO为零件代号,PNAME为零件名,COLOR为零件颜色,WEIGHT 为零件重量,主键为PNO。 J(JNO,JNAME,CITY) 其中,J表示JOB(工程),JNO为工程编号,JNAME 为工程名,CITY为工程所在城市,主键为JNO。 SPJ(SNO,PNO,JNO,QTY) 其中,SPJ表示供应关系,SNO是为指定工程提供零件的供应者代号,PNO是所提供的零件代号,JNO 为工程编号,QTY表示提供的零件数量,主键为(SNO,PNO,JNO),外部键分别为SNO,PNO,JNO。试做以下各题: 1、用SQL的DDL语言创建S,P,J,SPJ四个基本表。

2、按照下面表格提供的数据,用SQL的插入语句插入所有记录。 3、给出下列各题的查询、存储等操作的语句序列,并且上机验证结果。 1)取出所有工程的全部细节; 2)取出所在城市为上海的所有工程的全部细节; 3)取出重量最轻的那些零件的号码; 4)取出为工程J1提供零件的供应者的代号; 5)取出为工程J1提供零件P1的供应者的代号; 6)取出由供应者S1提供零件的工程的名称; 7)取出由供应者S1提供的零件的颜色; 8)取出为工程J1和J2提供零件的供应者的代号; 9)取出为工程J1提供红色零件的供应者的代号; 10)取出为所在城市为上海的工程提供零件的供应者的代号; 11)取出为所在城市为上海或北京的工程提供红色零件的供应者的代号; 12)取出供应者与工程所在城市相同的供应者提供的零件的代号; 13)取出上海的供应者提供给上海的任一工程的零件的代号; 14)取出至少有一个和工程不在同一城市的供应者提

sql sever进阶测试题(含答案

SQL进阶测试 1) 为表userinfo添加约束,语法如下: alter table userinfo add constraint uq_userid unique ( userid ) 执行成功后,为userinfo表的()字段添加了()约束。 a) Userid ;主键 b) Userid ;唯一 c) Uq_userid ;外键 d) Uq_userid ;检查 2) 运行如下T-SQL,结果返回包含()的记录集。 create table scores ( scoreid int identity(1,2), score numeric(4,2) not null, courseid int ) insert into scores values(90.5, null); insert into scores values(100, 2); select * from scores; a) 1、90.5、null 3、100、2 b) 1、100、2l c) 1、90.50、null d) 1、90.5、null 3、100.0、2 3) 关于子查询,以下说法正确的是()。(选择两项) a) 一般来说,表连接都可以用子查询替换。 b) 一般来说,子查询都可以用表连接替换。 c) 相对于表连接,子查询适合于作为查询的筛选条件。 d) 相对于表连接,子查询适合于查看多表的数据。 4) 创建存储过程如下: CREATE procedure bookproc @id int, @title char(20) OUTPUT as select @title=title from book where id= @id 执行该存储过程的方法正确的是()。(选择一项) a) exec bookproc 1,@title output print @title b) exec bookproc @id =1,@title output print @title c) declare @title char(20)

基础SQL测试题(含参考答案)

Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student left Outer join SC on Student.S#=SC.S# group by Student.S#,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like'李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select Student.S#,Student.Sname from Student where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平'); 6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select*from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002'); 7、查询学过“叶平”老师所教的所有课的同学的学号、姓名; select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平'group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平')); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2 from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2

SQL相关模拟试题及答案

SQL 相关模拟试题及答案 一、名词解释:每题 2 分,共10 分 1 数据库: 、 2、表: 3、索引: 4、存储过程 5、DTS: 二、判断题(对的打",错的打X):每题1分,共10分 1、安装Microsoft SQL Server 2000 企业版对操作系统的最低要求可以是Microsoft Windows 2000 Professional 。() 2、每一个服务器必须属于一个服务器组。一个服务器组可以包含0 个、一个或多个服务器。() 3、认证模式是在安装SQLServer 过程中选择的。系统安装之后,可以重新修改SQLServer 系统的认证模式。() 4、在创建表时,不能指定将表放在某个文件上,只能指定将表放在某个文件组上。如果希 望将某个表放在特定的文件上,那么必须通过创建文件组来实现。() 5、当用户定义的数据类型正在被某个表的定义引用时,这些数据类型不能被删除。() 6、在使用子查询时,必须使用括号把子查询括起来,以便区分外查询和子查询。() 7、索引越多越好。() 8、视图本身没有数据,因为视图是一个虚拟的表。() 9、创建触发器的时候可以不是表的所有者或数据库的所有者。() 10、输入正确的所有者口令,才可以修改DTS包的定义和执行DTS包。如果只输入用户口令,那么只能执行DTS包,不能修改该DTS包的定义。() 三、填空题:每空 1 分,共20 分 1 、认证模式类型有和两种。 2、数据库对象就是存储和管理数据库的结构形式,这些数据库对象包括数据库图表、表、函数、视图、、、缺省、规则、出版物等。 3、表是由行和列组成的,行有时也称为,列有时也称为或域。 4、数据库操纵技术就是指插入、、检索和表中数据的技术。 5、创建索引的方法可以分为和。 6、在Microsoft SQL Server 系统中,支持3 种类型的备份介质:、磁带和。 7、触发器有3种类型,即INSERT类型、和。 8、Transact —SQL语言有4部分元素组成,分别是:、数据定义语言、和一些附加的语 9、事务的4 个属性:自动性、一致性、和。 10、ODBC吉构中包括4种主要的组件元素,即、ODBC驱动器管理程序、和数据源。 四、简答题:每题8 分,共40 分 1、如何验证SQL Server 系统的正确安装吉果 2、创建数据库的3 种方法 3、创建索引的3 种方法

相关主题
文本预览
相关文档 最新文档