当前位置:文档之家› SQL简答题及其答案★

SQL简答题及其答案★

SQL简答题及其答案★
SQL简答题及其答案★

SQL简答题

1.什么是数据库管理系统?它的主要功能是什么?

答:DBMS是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、数据操纵功能、数据库的管理、控制和维护功能。2.什么是关系?其主要特点是什么?

答:关系模型是由一组关系组成,每个关系的数据结构是一张规范化的二维表,它由行和列组成。关系模型中的关系有如下特点:

(1)关系中的每一属性都是不可再分的基本数据项。

(2)每个属性的名字不能相同。

(3)行和列的顺序无关紧要。

(4)关系中不能存在完全相同的行。

3.SQL Server 2008中有多少种约束?其作用分别是什么?

答:数据库中的约束包括以下五种:

(1)主键约束。唯一地标识一行数据。

(2)外键约束。主要用来维护两个表之间的一致性。

(3)检查约束。通过检查输入表列数据的值来维护值域的完整性。

(4)唯一性约束。确保在非主键列中不输入重复的值。

(5)默认约。指在输入操作中没有提供输入值时,系统将自动提供给某列的值。

4. 哪些列适合创建索引?哪些列不适合创建索引?

答:适合创建索引的列:1.主键2.连接中频繁使用的列3.在某一范围内频繁搜索的列和按排序顺序频繁检索的列。

不适合创建索引的列:1.很少或从来不在查询中使用的列。 2.只有两个或很少几个值的列。3.以bit、text、image数据类型定义的列。4.数据行数很少的小表一般也不用创建索引。

5.简述备份数据的重要性。

答:对于一个实际应用的系统来说,数据是至关重要的资源,一旦丢失数据,不仅影响正常的业务活动,严重的会引起全部业务的瘫痪。数据存放在计算机上,即使是最可靠的硬件和软件也会出现系统故障或产品损坏。所以,数据库的安全性是至关重要的,应该在意外发生之前做好充分的准备工作,以便在意外发生之后有相应的措施来快速恢复数据库,并使丢失的数据减少到最少。

操作题

第一部分答案

现有关系数据库如下:

数据库名: teacher

JS (编号,姓名,性别,民族,职称,电话)

KC(课号,课程名称)

RK(教师编号,课号,课时数)

注:JS-----教师表KC-----课程表RK--------任课表

写出用SQL语言实现下列功能的sql语句代码:

1、建立teacher数据库。

1、Create database teacher

2、Create table js

(编号Char(5) not null primary key,

姓名Char(8) not null,

性别Char(2) not null check(性别=’男’or性别=’女’),

民族Char(10) not null,

职称Char(10) null)

3、在“JS”表中增加一条记录:

01004,李明玉,女,回族,讲师

3、insert js values(‘01004’,’李明玉’,‘女’,’回族’,’讲师’)

4、将JS表中“李明玉”的名字改为“李明宝”,性别改为“男”。

4、Update js set姓名=’李明宝’, 性别=’男’ where姓名=’李明玉’

5、删除01008号教师的任课记录

5、delete rk where 教师编号=’01008’

6、查询教师的任课情况,结果按教师编号升序排列

6、select * from RK order by 教师编号

7、查询男教授的基本信息,并将结果保存到njs表中

7、select * into njs from JS where 性别=’男’ and 职称=’教授’

8、查询少数民族女教师的姓名,民族,职称信息

8、select 姓名,民族,职称from js where民族<>’汉族’

9、查询姓名中有“玉”字的女教师信息

9、select * from js where 姓名like ‘%玉%’ and 性别=’女’

10、按职称统计教师人数,只显示人数在6人以上的信息。

10、Select 职称,count(职称) as 人数from js group by 职称having count(职称)>=6

11、查询任教“数据库”课程的所有教师的姓名,性别,职称,课时数

11、select 姓名,性别,职称,课时数from js,rk,kc where js. 编号=rk. 教师编号and

rk. 课号=kc. 课号 and 课程名称='数据库’

12、查询课时数最高的教师任课信息。

12、Select * from rk where 课时数=(select max(课时数) from rk)

13、查询课时数大于平均课时数的教师编号,课程名称及课时数。

13、Select 教师编号,课程名称,课时数from kc,rk where rk.. 课号=kc. 课号and 课时数>(select avg(课时数) from rk)

14、删除李明宝教师的任课记录

14、delete rk where 教师编号=(select 编号from js where 姓名=’李明宝’)

15、创建一个视图JSST,显示姓李的教师的编号,姓名,课程名称,课时数信息。

15、Use teacher

Go

create view JSST

as

select 编号,姓名,课程名称,课时数 from from js,rk,kc where js. 编号=rk. 教师编号 and rk. 课号=kc. 课号 and 姓名 like ‘李%’

16、为表kc的“课程名称”字段创建一个非惟一非聚集索引mc_ix。

16、Create nonclustered index mc_ix on kc(课程名称)

17、建立一个存储过程pro_ks,,根据指定的教师编号来查找教师的任课信息,如果找到,删除此教师的任课信息,如果未找到,显示“此教师未上课!”信息。

17、Use teacher

Go

create procedure pro_ks

@jsbh char(8)

as

If exists(select * from rk where 教师编号=@jsbh)

Delete rk where教师编号=@jsbh

Else

Print ’此教师未上课!’

18、创建一个触发器check_insert,当向RK表中插入一条记录时,检查该记录的教师编号是否在JS表中存在,检查课号是否在KC表中存在,如果有其中一项不存在,则拒绝插入。

18、CREATE TRIGGER check_insert ON RK

AFTER insert

AS

Declare @xh char(10),@kch char(8)

SELECT @xh=教师编号,@kch=课号 FROM inserted

If exists(select * from JS where 编号=@xh) and exists(select * from KC where 课号=@kch)

Print '插入成功!'

Else

begin

Print '不允许插入!'

Rollback tran

end

19、创建一个名为T_login的登录账户,并指定其登录密码为‘8888’,然后在teacher数据库中添加一个用户,名称为T_user,映射的登录名为T_login。并给该用户授予能够检索teacher数据库中任何表的所有数据。

19、USE TEACHER

GO

exec sp_addlogin 'T_LOGIN ', '888',

exec sp_grantdbaccess ' T_LOGIN ', 'T_USER '

exec sp_addrolemember 'db_datareader', 'T_USER '

SQLServer数据库试题九及答案

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语句中与HA VING子句同时使用的是()子句。 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语句

SQLServer选择题含答案去原题

第一套选择题 1.下列说法错误的是()。 A.内嵌表值函数没有函数主体,返回的表是单个SELECT语句的结果集B.多语句表值函数的调用与内嵌表值函数的调用方法相同 C.多语句表值函数的功能可以用标量函数来实现 D.在内嵌表值函数的定义中,不使用BEGIN…END块定义函数主体2.以下哪个事件不能激活DML触发器的执行()。 A.SELECT B. UPDATE C. INSERT D. DELETE 3.以下哪个数据库实例不属于系统数据库()。 A.master B.model C.msdb D.temp 4.执行以下语句: DECLARE @n int Set @n=3 WHILE @n<5 Begin IF @n=4 Print ltrim(@n)+‘的平方数为’+ltrim(@n*@n) Set @n=@n+1 End 执行完成后循环次数为()。

A.0次B.1次 C.2次D.死循环 5.利用游标来操纵数据时,所用的FOR UPDATE子句充分利用了事务的哪个特性()。 A.原子性B.一致性 C.永久性D.隔离性 6.关于触发器的描述,下列说法正确的是()。 A.触发器是在数据修改前被触发,约束是在数据修改后被触发 B.触发器是一个能自动执行的特殊的存储过程 C.触发器作为一个独立的对象存在,与数据库中其他对象无关D.inserted表和deleted表是数据库中的物理表 7.关于服务器角色与数据库角色,说法正确的是()。 A.只能将一个登录名添加为某个固定服务器角色的成员 B.只能将一个登录名添加为某个固定数据库角色的成员 C.sysadmin是固定数据库角色 D.db_owner是固定服务器角色 8.关于创建永久备份设备,下列说法错误的是()。 A.执行系统存储过程sp_addumpdevice创建永久备份设备 B.执行系统存储过程sp_dropdevice删除永久备份设备 C.若被删除的“命名备份设备”的类型为磁盘,那么必须指定DELFILE选项D.只须指定该命名备份设备的物理名,无须指定该命名备份设备的逻辑名9.能够将‘java’课的学分赋值给变量的语句是哪一个()。

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

一、单选题(共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查询题目及答案

数据库中有如下三个表: 学生表(学号id,姓名name,性别sex,系部depart,年龄age)8个学生记录 选课表(学号id,课程号cid,成绩grade) 12门课程 课程表(课程号cid,课程名cname,学分Ccredit) 6门课程 学生-课程模式 S-T : 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 1.从学生表中查询所有同学的所有信息 select*from学生表 2.从学生表中查询所有学生的信息,并分别赋予一个别名 select学号as xuehao,姓名as xingming,性别as xingbie,系部as xibu,年龄as nianling from学生表 3.从学生表中查询姓名是Allen的学生的信息 select*from学生表 where姓名='Allen' 4.从学生表中查询 学号在1101到1199之间的所有学生的信息 select*from学生表 where学号between 1101 and 1199 5.从学生表中查询年龄小于18和大于20的所有学生的学号和姓名 select学号,姓名from学生表 where年龄<18 or年龄>20 6.从学生表中查询计算机系年龄小于20的所有学生的信息 select*from学生表 where系部='computer'and年龄<20 7.从学生表中查询姓名以A开头的学生的信息 select*from学生表 where姓名LIKE'A%'

sql查询练习题含答案

--(1)查询20号部门的所有员工信息。 select * from emp e where e.deptno=20; --(2)查询奖金(COMM)高于工资(SAL)的员工信息。 select * from emp where comm>sal; --(3)查询奖金高于工资的20%的员工信息。 select * from emp where comm>sal*0.2; --(4)查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。select * from emp e where (e.deptno=10 and e.job='MANAGER') or (e.deptno=20 and e.job='CLERK') --(5)查询所有工种不是MANAGER和CLERK, --且工资大于或等于2000的员工的详细信息。 select * from emp where job not in('MANAGER','CLERK') and sal>=2000; --(6)查询有奖金的员工的不同工种。 select * from emp where comm is not null; --(7)查询所有员工工资和奖金的和。 select (e.sal+nvl(https://www.doczj.com/doc/1d290029.html,m,0)) from emp e; --(8)查询没有奖金或奖金低于100的员工信息。 select * from emp where comm is null or comm<100; --(9)查询员工工龄大于或等于10年的员工信息。 select * from emp where (sysdate-hiredate)/365>=10; --(10)查询员工信息,要求以首字母大写的方式显示所有员工的姓名。 select initcap(ename) from emp; select upper(substr(ename,1,1))||lower(substr(ename,2)) from emp; --(11)显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序, --若月份相同则按入职的年份排序。 select ename,to_char(hiredate,'yyyy') year,to_char(hiredate,'MM') month from emp order by month,year; --(12)查询在2月份入职的所有员工信息。 select * from emp where to_char(hiredate,'MM')='02' --(13)查询所有员工入职以来的工作期限,用“**年**月**日”的形式表示。 select e.ename,floor((sysdate-e.hiredate)/365)||'年' ||floor(mod((sysdate-e.hiredate),365)/30)||'月' ||floor(mod(mod((sysdate-e.hiredate),365),30))||'日' from emp e; --(14)查询从事同一种工作但不属于同一部门的员工信息。

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面试题目汇总

面试真题 面试范本SQL面试题目汇总 1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2.什么是存储过程?用什么来调用? 答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。 3.索引的作用?和它的优点缺点是什么? 答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 4.什么是内存泄漏? 答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。 5.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 答:我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。

sql查询练习题含答案

--( 1) 查询20 号部门的所有员工信息。select * from emp e where e.deptno=20; --(2)查询奖金(COMM )高于工资(SAL )的员工信息。 select * from emp where comm>sal; --(3)查询奖金高于工资的20% 的员工信息。 select * from emp where comm>sal*0.2; --(4)查询10号部门中工种为MANAGER 和20 号部门中工种为CLERK 的员工的信息。select * from emp e where (e.deptno=10 and e.job='MANAGER') or (e.deptno=20 and e.job='CLERK') --(5)查询所有工种不是MANAGER 和CLERK , --且工资大于或等于2000 的员工的详细信息。 select * from emp where job not in('MANAGER','CLERK') and sal>=2000; --(6)查询有奖金的员工的不同工种。 select * from emp where comm is not null; --(7)查询所有员工工资和奖金的和。 select (e.sal+nvl(https://www.doczj.com/doc/1d290029.html,m,0)) from emp e; --(8)查询没有奖金或奖金低于100 的员工信息。 select * from emp where comm is null or comm<100; --(9)查询员工工龄大于或等于10 年的员工信息。 select * from emp where (sysdate-hiredate)/365>=10; --( 10) 查询员工信息,要求以首字母大写的方式显示所有员工的姓名。 select initcap(ename) from emp; select upper(substr(ename,1,1))||lower(substr(ename,2)) from emp; --( 11) 显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,--若月份相同则按入职的年份排序。 select ename,to_char(hiredate,'yyyy') year,to_char(hiredate,'MM') month from emp order by month,year; --(12) 查询在 2 月份入职的所有员工信息。 select * from emp where to_char(hiredate,'MM')='02' --(13) 查询所有员工入职以来的工作期限,用“** 年**月** 日”的形式表示。 select e.e name,floor((sysdate-e.hiredate)/365)『年' ||floor(mod((sysdate-e.hiredate),365)/30)||' 月' ||floor(mod(mod((sysdate-e.hiredate),365),30))||' 日' from emp e; --( 14) 查询从事同一种工作但不属于同一部门的员工信息。

数据库中SQL查询语句习题含答案

查询问题:设教学数据库Education有三个关系: 学生关系S(SNO,SNAME,AGE,SEX,SDEPT);学习关系SC(SNO,CNO,GRADE);课程关系C(CNO,CNAME,CDEPT,TNAME) (1)检索计算机系的全体学生的学号,姓名和性别; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS”的学生学号与姓名;(4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号;(6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。(1)检索计算机系的全体学生的学号,姓名和性别;SELECT Sno,Sname,Sex FROM S WHERE Sdept =’CS’; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS”的学生学号与姓名本查询涉及到学号、姓名和课程名三个属性,分别 存放在S和C表中,但S和C表没有直接联系,必须通过SC表建立它们二者的联系。 C → SC → S 基本思路: (1 )首先在C表中找出“DS”课程的课程号Cno;(2)然后在SC表中找出Cno等于第一步给出的Cno 集合中的某个元素Cno; (3)最后在S关系中选出Sno等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname送入结果表列。SELECT Sno,Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C WHERE Cname=‘DS’)); (4)检索选修课程号为C2或C4的学生学号;SELECT Sno FROM SC WHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2和C4的学生学号;SELECT Sno FROM SC X,SC Y WHERE = AND =‘C2’ AND =‘C4’; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名; 在表S中找学生,要求这个学生学了全部课程。换言之,在S表中找学生,在C中不存在一门课程,这个学生没有学。 SELECT Sname FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE = AND =)); (8)查询所学课程包含学生S3所学课程的学生学号。分析:不存在这样的课程Y,学生S3选了Y,而其他学生没有选。 SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE =‘S3’ AND NOT EXISTS (SELECT * FROM SC AS Z WHERE = AND =));

SQL_Server_期末考试题目与答案

SQL Server 期末考试题目及答案 一、单选题 1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于()。 A. Windows平台 B. UNIX平台 C. LINX平台 D. NetWare平台 2. 当一条SELECT语句访问一张大表里的有限几行数据时,SQL Server2000通常会()。 A. 为数据加上页级锁 B. 为数据加上行级锁 C. 需要用户的干涉和参与 D. 使用户独占数据库 3. 当采用Windows认证方式登录数据库服务器时,SQL Server2000客户端软件会向操作系统请求一个()。 A. 信任连接 B. 邮件集成 C. 并发控制 D. 数据转换服务 4. 以下对SQL Server2000描述不正确的是()。 A. 支持XML B. 支持用户自定义函数 C. 支持邮件集成 D. 支持网状数据模型 5. 如果在SQL Server2000上运行一个非常大的数据库,为取得较好效果应选用安装()。 A. 企业版 B. 标准版 C. 个人版 D. 开发版 6. 提高SQL Server2000性能的最佳方法之一是()。 A. 增大硬盘空间 B. 增加内存 C. 减少数据量 D. 采用高分辨率显示器 7. SQL Server2000标准版不支持的操作系统是()。

A. Windows 2000 Server B. Windows NT Server C. Windows98 D. Windows 2000 Advanced Server 8. 如果希望完全安装SQL Server2000,则应选择()。 A. 典型安装 B. 最小安装 C. 自定义安装 D. 仅连接 9. 要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。 A. SQL Server服务器 B. 查询分析器 C. 网络实用工具 D. 数据导入和导出程序 10. 用于配置客户端网络连接的工具是()。 A. 企业管理器 B. 客户端网络实用工具 C. 查询分析器 D. 联机帮助文档 11. SQL Server2000的物理存储主要包括3类文件()。 A. 主数据文件、次数据文件、事务日志文件 B. 主数据文件、次数据文件、文本文件 C. 表文件、索引文件、存储过程 D. 表文件、索引文件、图表文件 12. 当数据库损坏时,数据库管理员可通过何种方式恢复数据库()。 A. 事务日志文件 B. 主数据文件 C. DELETE语句 D. 联机帮助文件 13. SQL Server2000系统中的所有系统级信息存储于哪个数据库()。 A. master B. model C. tempdb D. msdb 14. 下面关于tempdb数据库描述不正确的是()。 A. 是一个临时数据库 B. 属于全局资源

SQL数据习题题四及答案(1)

SQL Server复习题4 一、填空题1 概念设计阶段2?概念模型、结构数据模型3?层次模型、网状模型、关系模型、面 向对象模型4?清空数据库5?实体完整性、值域完整性、引用完整性、值域完整性、实体完整性6?任意字符查询以 e 开头中间任意字符(串) im 结尾的字符串7?簇集索引、非簇集索引8? @@ 、 @ 9?约束默认规则存储过程等 1.E-R 数据模型一般在数据库设计的 _______ 阶段使用。 2.根据模型应用目的的不同,数据模型可以分为两类:一类是 _________,是按用户的观点来对数 据和信息进行抽象;另一类是_________,是按计算机的观点建模。 3.?结构数据模型直接描述数据库中数据的逻辑结构,常用的结构数据模型有 _________, _________,_________,_________。 4.?命令 truncate table的功能是_______________。 5.?数据完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性,根据完整性机制 所作用的数据库对象和范围不同,可以分为: _________,_________,_________,_________四种,其中主键可以实现_________完整性。 6.?模糊查询符号 % 代表 _______ ,查询条件 e%im 代表意思是 _______ 。 7.?使用索引可以减少检索时间,根据索引的存储结构不同将其分为两类: _________和 _________。 8.? SQL server中的变量分为两种,全局变量和局部变量。其中全局变量的名称以_________字符 开始,有系统定义和维护。局部变量以_________字符开始,由用户自己定义和赋值。 9.?实现数据完整性的途径有 _______ 、 _______ 、 _______ 、 _______ 等。 二、选择题 ? 1、下面仅存在于服务器端的组件是:(1 ) A、服务管理器 B、企业管理器组件 C、查询分析器组件 D、导入导出组件 2、下面描述错误的是(2 )。 ?每个数据文件中有且只有一个主数据文件。?日志文件可以存在于任意文件组中。?主数据文件默认为 primary文件组。?文件组是为了更好的实现数据库文件组织。 3、下面标志符不合法的是:(3 )。 A、[my delete] B、_mybase C、$money D、trigger1 4、下面字符串能与通配符表达式[ABC] _ a进行匹配的是:(3 )。 A、BCDEF B、A_BCD C、ABa D、A%a 5、下面是合法的smallint数据类型数据的是:(3)。 A、223.5 B、32768 C、-32767 D、58345 6 、关系数据模型 _4______ 。 ?只能表示实体间的 1 : 1 联系 ?只能表示实体间的 1 : n 联系 ?只能表示实体间的 m : n 联系 ?只能表示实体间的上述 3 种联系 ?数据库概念模式产生于数据库系统设计的 __3_____ 阶段。 A 、规划 B 、需求分析 C 、概念设计 D 、逻辑设计 8 、客观存在的各种报表、图表和查询格式等原始数据属于 ____4___ 。 A 、机器世界 B 、信息世界 C 、现实世界 D 、模型世界 9、SQL server数据库文件有三类,其中主数据文件的后缀为:3 A、.ndf B、.ldf C、.mdf D、.idf 10 、下列语句中正确的是 __2_____ 。表 score(sti_id,names,math,English,VB) ? select stu_id,sum(math) from score ? select sum(math),avg(VB) from score ? select * ,sum(english) from score ? delete * from score 三、简答题。 1、简述视图的意义和优点? 2、试述如何有效的保护数据库的安全? 四、综合应用题。 学生选课系统,主要表有:学生基本信息表(学号、姓名、性别、专业、出生年月等),选课表(学号、课程号、分数),课程表(课程号、课程名、所属专业、学分)要求: 1、用E-R图表示上述关系的概念模型。 3、写出SQL语句。

SQL Server 基础练习题及答案

SQL Server 基础练习题及答案 【幻天火焰】 目录 一、单表查询练习 (1) 二、聚合函数练习 (3) 三、分组查询练习 (3) 四、嵌套查询练习 (4) 五、联接查询练习 (6) 六、外联接查询 (7) 七、补充提高 (7) 一、单表查询练习 1、查询<学生信息表>,查询学生"张三"的全部基本信息 Select * from A_studentinfo where sname='张三' 2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息 Select * from A_studentinfo where sname='张三' or sname='李四' 3、查询<学生信息表>,查询姓"张"学生的基本信息 Select * from A_studentinfo where sname like '张%' 4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息 Select * from A_studentinfo where sname like '%四%' 5、查询<学生信息表>,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。 select * from A_studentinfo where sname like '李_强'

6、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息。 Select * from A_studentinfo where sname like '张%' or sname like '李%' 7、查询<学生信息表>,查询姓"张"并且"所属省份"是"北京"的学生信息 Select * from A_studentinfo where sname like '张%' and province='北京' 8、查询<学生信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息 Select * from A_studentinfo where province in ('北京','上海','新疆','山东') 9、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息 Select * from A_studentinfo where sname like '张%' and province !='北京' 10、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序 select * from A_studentinfo order by sex,province,class 11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份 select distinct province as 省份 from A_studentinfo 12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号和成绩 Select * from A_studentcourse where score is null 13、查询<学生选修信息表>,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序 Select * from A_studentcourse where score is not null order by score desc

数据库中SQL查询语句习题含答案

查询问题:设教学数据库Education 有三个关系: 学生关系S(SNO,SNAME,AGE,SEX,SDEPT);学习关系SC(SNO,CNO,GRADE);课程关系C(CNO,CNAME,CDEPT,TNAME) (1)检索计算机系的全体学生的学号,姓名与性别; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2与C4的学生学号; (6)检索不学C2课的学生姓名与年龄; (7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。 (1)检索计算机系的全体学生的学号,姓名与性别; SELECT Sno,Sname,Sex FROM S WHERE Sdept =’CS ’; (2)检索学习课程号为C2的学生学号与姓名; 分别 (1)首先在C 表中找出“DS ”课程的课程号Cno; (2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno; (3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 与Sname 送入结果表列。 SELECT Sno,Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C WHERE Cname=‘DS ’)); (4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SC WHERE Cno=‘C2’ OR Cno=‘C4’; (5)检索至少选修课程号为C2与C4的学生学号; SELECT Sno FROM SC X,SC Y WHERE X 、Sno=Y 、Sno AND X 、Cno=‘C2’ AND Y 、Cno=‘C4’ ; (6)检索不学C2课的学生姓名与年龄; ,学。 SELECT Sname FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC 、Sno=S 、Sno AND SC 、Cno=C 、Cno)); (8)查询所学课程包含学生S3所学课程的学生学号。 分析:不存在这样的课程Y,学生S3选了Y,而其她学生没有选。 SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE Y 、Sno=‘S3’ AND NOT EXISTS (SELECT * FROM SC AS Z WHERE Z 、Sno=X 、Sno AND Z 、Cno=Y 、Cno)); 设教学数据库Education 有三个关系: 学生关系S(SNO,SNAME,AGE,SEX,SDEPT); 学习关系SC(SNO,CNO,GRADE); 课程关系C(CNO,CNAME,CDEPT,TNAME) 查询问题: 1:查所有年龄在20岁以下的学生姓名及年龄。 2:查考试成绩有不及格的学生的学号 3:查所年龄在20至23岁之间的学生姓名、系别及年龄。 4:查计算机系、数学系、信息系的学生姓名、性别。 5:查既不就是计算机系、数学系、又不就是信息系的学生姓名、性别 6:查所有姓“刘”的学生的姓名、学号与性别。 7:查姓“上官”且全名为3个汉字的学生姓名。 8:查所有不姓“张”的学生的姓名。 9:查DB_Design 课程的课程号。 10:查缺考的学生的学号与课程号。 11:查年龄为空值的学生的学号与姓名。 12:查计算机系20岁以下的学生的学号与姓名。 13:查计算机系、数学系、信息系的学生姓名、性别。 14:查询选修了C3课程的学生的学号与成绩,其结果按分数的降序排列。 15:查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。 16:查询学生总人数。 17:查询选修了课程的学生人数。 18:计算选修了C1课程的学生平均成绩。 19:查询学习C3课程的学生最高分数。

SQL Server习题及答案

1. 有个用户的计算机不能连接到中心机房的SQL Server 2000上。你在调试过程中发现这个用户的计算机的网络功能是正常的,而且其他用户都能正常地连接到SQL Server 2000。下面的哪些工具有助于你诊断和解决该问题(多选) A.Enterprise Manager B.Server Network Utility C.Profiler D.Query Analyzer E.Client Network Utility 答:B和E 2. 你在SQL Server 2000创建了酒店管理系统的数据库HotelDB,并创建了表CustInfo。当下面的哪些数据库被删除的情况下,仍能正确地执行“SELECT * FROM CustInfo A.Model B.Tempdb C.Msdb D.Master E.Pubs 答:A、C、E 3. 你正在使用SQL Server 2000开发银行交易系统,为了保证商业数据在网络传输(用TCP/IP协议)时不会被窃取,你在SQL Server 2000中启用了网络加密功能。请问该功能在哪一层被实现 A.TCP/IP协议软件 B.超级套接字层 C.开放式数据服务 D.关系引擎 E.存储引擎 答:B 4. 你正在使用SQL Server 2000开发超市收银系统。在客户端编写软件时使用SQL语句“SELECT * FROM Products”来查询商品的信息,但是不小心把Products输入成Product。请问该错误在哪一层被发现 A.客户端的数据库API B.客户端的NET-LIBRARY C.服务器端的开放式数据服务 D.服务器端的关系引擎 E.服务器端的存储引擎 答:D

Oracle_SQL_练习题及答案

本文由NiCoBee贡献Oracle SQL 练习题 注:这些查询题目涵盖了各种查询的技术,请大家认真做,做好了的查询语句之后,有兴趣的同学可以再创建相应的视图和存储过程 create table wkj_student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); create table wkj_teacher( tno varchar2(10) primary key, tname varchar2(20) ); create table wkj_course( cno varchar2(10), cname varchar2(20), tno varchar2(20), constraint pk_course primary key (cno,tno) ); create table wkj_sc( sno varchar2(10), cno varchar2(10), score number(4,2), constraint pk_sc primary key (sno,cno) ); /*******初始化学生表的数据******/ insert into student values ('s001','张三',23,'男'); insert into student values ('s002','李四',23,'男'); insert into student values ('s003','吴鹏',25,'男'); insert into student values ('s004','琴沁',20,'女'); insert into student values ('s005','王丽',20,'女'); insert into student values ('s006','李波',21,'男'); insert into student values ('s007','刘玉',21,'男'); insert into student values ('s008','萧蓉',21,'女'); insert into student values ('s009','陈萧晓',23,'女'); insert into student values ('s010','陈美',22,'女'); commit; /******************初始化教师表***********************/ insert into teacher values ('t001', '刘阳'); insert into teacher values ('t002', '谌燕'); insert into teacher values ('t003', '胡明星'); commit; /***************初始化课程表****************************/ insert into course values ('c001','J2SE','t002'); insert into course values ('c002','Java Web','t002'); insert into course values ('c003','SSH','t001'); insert into course values ('c004','Oracle','t001'); insert into course values ('c005','SQL SERVER 2005','t003'); insert into course values ('c006','C#','t003'); insert into course values ('c007','JavaScript','t002');

SQL试题及标准答案

SQL试题及答案

————————————————————————————————作者:————————————————————————————————日期:

模拟测验1 一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共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 C. CLEAR D. REMOVE 10. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 二、简答题(16分) 1、什么是游标?使用游标的步骤? 2、什么是事务?事务的基本属性是什么? 三、应用题 1、创建一个名字为ks的数据库,包含一个数据文件和一个日志文件,逻辑文件名为ks_data,磁盘文件名为ks_data.mdf,文件初始容量为5MB,最大容量为10MB,文件递增量为1MB;而事务日志文件的逻辑文件名ks_log,磁盘文件名为ks_log.ldf,文件初始容量为1MB,最大容量为5MB,文件递增量为1MB(数据库创建在C:\SERVER文件夹下)(10分) 2、假设ks数据库有以下三张表,请写出下列问题的SQL语句:(每题6分,共54分) 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩) (1)如何在SQL Server上创建这三张表; (2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名; (4)查询王文芳同学选修的所有课程的课程号;

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