文档库 最新最全的文档下载
当前位置:文档库 › SQl复习

SQl复习

SQl复习
SQl复习

一、填空:(请在每小题的空格中填上正确答案。错填、不填均无分)(本大题共5小题,每空1分,共10分)

1. 常用的数据模型有层次模型、网状模型和关系模型三种。

2.在SQL SERVER 2005系统中主要数据文件的扩展名为.mdf 、日志文件的扩展名为.ldf 。3.___唯一_____约束通过确保在列中不输入重复值保证一列或多列的实体完整性。

如果要使输入的成绩在0~100之间,可以通过___检查_____约束来实现。

4.两个表的主关键字和外关键字的数据应对应一致,这属于_____引用___完整性。

5.在设计表时,对于邮政编码(固定为6位)列最适合的数据类型是_char_______,对于时间日期最适合的数据类型是___datetime_____ 。

二、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。)(本大题共25小题,每小题2分,共50分)

1.SQL Sever 2005采用的身份验证模式有____d___。

A.仅Windows身份验证模式B.仅SQL Server身份验证模式

第 1 页共13页

C.仅混合模式D.Windows身份验证模式和混合模式

2.下面关于数据库中的文件说法正确的是______b___。

A.数据库中可以没有主日志文件。

B.数据库中一定包含主数据文件和事务日志文件。

C.数据库中一定包含主数据文件、次数据文件和事务日志文件。

D.主数据文件和事务日志文件有且只能有一个。

3.修改数据库使用的T-SQL语句是______a___。

A.Alter database B.Drop database C.delete database D.create database

4.执行以下语句分析结果:

SELECT * FROM Student WHERE (Sname LIKE '张_') AND

(Sage BETWEEN 17 AND 23),___a_。

A.在Student表查询姓名是两个字的姓张的学生,而且年龄在17到23之间的学生信息。

第 2 页共13页

B.在Student表查询姓名是张三,而且年龄等于17或23的学生信息。

C.在Student表查询姓名包含张,而且年龄等于17或23的学生信息。

D.在Student表查询姓名包含张,而且年龄在17到23之间的学生信息。

5.下面描述正确的为____c_____。

A.一个表中最多只能有一个主键约束,多个外键约束。

B.一个表中最多只能有一个主键约束,一个外键约束。

C.一个表中允许有多个主键约束,多个外键约束。

D.一个表中最多只能有一个外键约束,多个主键约束。

6.SQL 是哪几个英文单词的缩写____b_____。

A.Standard Query Language B.Structured Query Language

C.Selected Query Language D.以上都不正确

7.如果标识列A的初始值为3,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的

第 3 页共13页

时候,标识值从____d_____开始?

A. 3

B. 5

C. 7

D. 9

8.使用关键字___a______可以把查询结果中的重复行消除。

A.DISTINCT B.UNION C.ALL D.TOP

9.数据查询命令SELECT由多个子句组成,下列子句__b___可以生成明细汇总行。A.order by子句B.group by子句

C.compute子句D.having子句

10.如果要判断某一指定值不在某一查询结果中,可以使用___a______。

A.in子查询B.exist子查询C.not exist子查询D.join子查询

11.在T-SQL语言中,删除表应使用的命令是______d___。

A.DELETE B.INSERT C.MODIFY D.DROP

12.Order by子句的作用是____d_____。

第 4 页共13页

A.分组查询B.限定返回行的查询条件

C.明细汇总查询D.对结果集排序

13.连接查询中的外连接只能对____a_____个表进行。

A.两个B.三个C.四个D.任意多个

14.在使用SQL Server 2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括______a___和附加数据库。

A.分离数据库B.删除数据库C.新建数据库D.合并数据库

15.下列不属于设计表时要明确的项目是____a_____。

A.表中的数据B.表间的关系C.列的数据类型和宽度D.列的名称

16.一个班级中有若干名学生,每个学生只在一个班级中学习, 班级与学生之间的联系是__b_______。A.一对一的联系B.一对多的联系

C.多对一的联系D.多对多的联系

第 5 页共13页

17.下列哪条语句不能为查询列指定别名______a___。

A.select g_id=商品号,g_name=商品名称from goods

B.select g_id 商品号,g_name 商品名称from goods

C.select g_id as 商品号,g_name as 商品名称from goods

D.select商品号=g_id,商品名称=g_name from goods

18.在SQL Server 2005数据库中,有students(学生)表,包含字段:SID(学号),Sname(姓名),Score(成绩)。现要将所有学员的成绩加15分。下列SQL语句正确的是d_________。

A.update students set Score=Score+15 where SID=1

B.Alter students set Score=Score+15

C.update * from students set Score=Score+15

D.update students set Score=Score+15

19.对于update语句的实现说法正确的是___b______。

第 6 页共13页

A.对于update一次只能修改一列的值

B.对于update可以同时对多列的值进行修改

C.对于update可以修改表的结构

D.对于update不能加WHERE条件

20.在SQL Server2005中,通配符通常与LIKE关健字一起配合使用,以下通配符中_____b____表示任意长度的字符串

A. (^)

B. %

C. _

D. [^]

21.数据查询语句SELECT的语法中,必不可少的子句是____b_____。

A.SELECT和WHERE B.SELECT和FROM

C.FROM D.SELECT和GROUP BY

22.以下_______c__不属于聚合函数。

A.Max( ) B.Count( ) C.Not( ) D.Min( )

第7 页共13页

23.下列______c_语句在表customers上的列discount上定义了一个约束,默认值为8。

A.create default 8 for discount

B.create constraint df_discount default as 8

C.alter table customers add constraint df_discount default 8 for discount

D.alter table customers add constraint df_discount default discount as 8

24.可以使用______b___关键字来限制返回的数据行数。

A.LIMIT B.TOP C.COUNT D.SUM

25.假设Users表中有4行数据,Score表中有5行数据,执行卡氏积连接查询(无限制条件),将返回___d______行数据。

A. 12

B. 4

C. 5

D. 20

三、简答题(本大题共3小题,共10分)

1.在一张表的某个字段上建立唯一性约束和定义该字段为该表的主键效果是否相同?为什么?(4分)

第8 页共13页

不相同唯一约束是该字段所对应的列的值不能重复,而主健虽然对应的值也不允许重复,但是不能为空

2.对于实施了参照完整性的两张表表A和表B,如果要输入记录应该先输入哪张表,为什么?(3分)先输入作为另一个表中外健的表,因为先有该表另一个表才能使用这个表中的字段作外键

3.外连接分为几种类型,请列举。(3分)

左外联接

右外连接

完全连接

四、编程题(要求使用T-SQL语句完成以下题目)(本大题共10小题,共30分)

现有关系数据库如下:学生数据库,其中包含三张表:

学生表(T_student)、课程表(T_course)、成绩表(T_score),完成以下操作:

1.创建一个学生数据库,名称为“StudentDb”,此数据库有一个数据文件和一个日志文件存放到“D:\data”,

第9 页共13页

数据文件和日志文件的初始大小分别为10MB和15MB,数据文件3MB以增长,日志文件以5%增长,数据文件最大为50MB,日志文件无最大值。(3分)

2.创建学生表(T_student)、课程表(T_course)、成绩表(T_score),表结构的描述如下:(5分)

T_student表结构

T_course表结构

T_score表结构

第10 页共13页

3、修改T_student表的结构,将字段Sno的约束修改为主键约束。(2分)

4、向表中插入以下记录(5分)

T_student表内容

T_course表内容T_score表内容

第11 页共13页

5、将学生表中的“张强”的姓名修改为“张涛”(2分)

6、查找姓李的女同学的个人信息,并按照学号进行降序排列(3分)

7、统计t_student表中男女生人数(3分)

8、查询李芳同学所在班级的学生的姓名和年龄。(2分)

9、将选修了C语言程序设计的同学的个人信息显示出来(2分)

10、将选修了课程的学生的姓名、课程名称、成绩显示出来(3分)

第12 页共13页

第13 页共13页

SQL复习题答案

SQL Server数据库应用管理-习题集 说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学 号,姓名,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。 一、单项选择题 1 . 下列属于SQL Serve系统数据库的是 A. master B . Sysbase 2. 3. 4. 5. A. B . C . D. 6. A. 7. A. B . C. student D. Database SQL Server中,数据库主数据文件扩展名 为 A. Idf C. ndf B. mdf D. dbf SQL Server中,索引类型按结构划分,包 括 A.聚集索引和非聚集索引C?单索引和复合索引 SQL Server的数据定义语句是。定义:创建 A. B . C . D. B.主索引和次索引 D.内索引和外索引 CREATE DROP ALTER INSERT UPDATE DELETE SELECT DELETE UP DATE CREATE GRANT INSERT F面的描述正确的是 每个数据文件中可以有多个主数据文件 只允许有一个次数据文 件。 一个数据库有主数据库文件即 可。 一个数据库至少由一个主数据文件和一个日志文件组 成。 F面字符串能与通配符表达式ABC%a进行匹配的是 BCDEF B. A_BCD C. ABCDa 下列属于数据库管理系统的是 SQL Server 2005 Exce l D. ACBDE

10. 下面的描述错误的是 A. 每个数据文件中有且只有一个主数据文件 B. 可以有多个次数据文件。 C. 一个数据库有主数据库文件即可。 D. —个数据库至少由主数据文件和日志文件组成。 11. 对于查询语句的结果,有时会出现重复的数据行,可以使用以下哪个关键字 可消去重复记录行。 A. Only D. Order by 12. 下列说法中正确的是 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己 建立。 13. 下面对索引的相关描述正确的是: A. 经常被查询的列不适合建索引。 C. Windows 2000 D . IE6 8实体完整性要求主属性不能取空值,这一点通常是通过 实 现。 A .定义外部键来保证 B.定义主键来保证 C.用户定义的完整性来保证 D .关系系统自动保证 Server 的数据操纵命令是 A . SELECT INSERT UPDATE DELETE B . CREATE INSERT UPDATE DELETE C . GRANT CREATE REVOKE D . SELECT CREATE DROP ALTER B. Select C. Dist inct A . SQL 中局部变量可以不声明就使用 B. SQL 中全局变量必须先声明再使用 C. SQL 中所有变量都必须先声明后使用 D .

SQL期末复习

一、单项选择题 1、使用下列哪种语句可以修改数据库( C )。 A、CREATE DATABASE B、CREATE TABLE C、ALTER DATABASE D、ALTER TABLE 2、在数据库中存储的是___C____。 A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 3、E-R图是数据库设计的工具之一,它适用于建立数据库 的___A_____ 。 A.概念模型 B. 逻辑模型 C. 结构模型 D. 物理模型 4、数据库三级模式体系结构的划分,有利于保持数据库的_ ___A____。 A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性 5、数据库管理系统(DBMS)是___D_____。 A.数学软件 B.应用软件 C.计算机辅助设计 D.系统软件 6、数据库管理系统能实现对数据库中数据的查询、插入、 修改和删除等操作.这种功能称为___C____。 A.数据定义功能 B.数据管理功能 C.数据操纵功能 D.数据控制功能 7、下面数据类型,在定义时需要给出数据长度的是(C)。 A、int B、text C、char D、money

8、在数据库中,产生数据不一致的根本原因是____D___。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 9、按所使用的数据模型来分,数据库可分为___A___三种模型。 A.层次、关系和网状 B.网状、环状和链状 C.大型、中型和小型 D.独享、共享和分时 10、关系模型中的关系模式至少是___A___ A.1NF B.2NF C.3NF D.4 NF 11、使用聚合函数时,把空值计算在内的是( A )。 A、COUNT(*) B、SUM C、MAX D、 A VG 12、候选关键字中的属性可以有___C____。 A.0个 B.1个 C.1个或多个 D.多个 13、下列四种模型中,___A_____与其他三种不属于同一类。 A.E-R模型 B.关系模式 C.网状模型 D.层次模型 14、下列对触发器的描述中哪一个是错误的(D )。 A.触发器属于一种特殊的存储过程 B.触发器与存储过程的区别在于触发器能够自动执行并且不含有参数 C.触发器有助于在添加、更新或删除表中的记录时保留表之间已定义的关系

数据库SQL查询例题及解答

1 实验目的 1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成作业的上机练习。 2 实验工具sql server 利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。 3 实验内容和要求 1)实验内容: 创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下: Sailors(sid: integer, sname: string, rating: integer, age: real) 船员(船员编号,姓名,级别,年龄) Boats(bid: integer, bname: string, color: string) 船(船编号,名称,颜色) Reserves(sid: integer, bid: integer, day: date) 租赁(船员编号,船编号,日期) (注:下划线表示主键),并插入一定数据。 2)完成下列要求:

(1)查询所有船员的信息 (2)查询所有姓王的船员的信息 (3)查询租用过103号船的船员姓名 (4)查找租用过船只的船员编号 (5)查找rating>7且年龄>25的水手编号 (6)查找租用过红船和绿船的水手名字 (7)查找租用过红船或绿船的水手编号 (8)查找最年长的水手的年龄和名字 (9)在18岁以上水手中,对于每个rating级别中最少有两个水手以上的组中最年轻水手的年龄 (10)查找每条红色船只被租用的次数 (11)把30岁以上船员的级别调高一级 (12)删除所有年龄超过40岁的船员信息 (13)建立年龄超过25岁的船员的视图 (14)对(13)建立的视图,举一操作的例子(查询、删除、修改均可) 2)要求: a.建立boat数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。 b.记录完成查询要求的SQL语句脚本。 c.记录完成查询的查询结果。

SQL考试试题

MySql考试题 姓名:________ 成绩:________ 一、选择题(40分) 1.SQL 指的是?C (A) Strong Question Language (B) Structured Question Language (C) Structured Query Language 2.哪条SQL 语句用于更新数据库中的数据?C (A)MODIFY (B)SA VE AS (C)UPDATE (D)SA VE 3.哪条SQL 语句用于删除数据库中的数据?B (A)COLLAPSE (B)DELETE (C)REMOVE 4.哪条SQL 语句用于在数据库中插入新的数据?D (A) INSERT NEW (B)ADD RECORD (C)ADD NEW (D)INSERT INTO 5.通过SQL,您如何从"Persons" 表中选取"FirstName" 列?B (A)SELECT Persons.FirstName (B)SELECT FirstName FROM Persons (C)EXTRACT FirstName FROM Persons 6.通过SQL,您如何从"Persons" 表中选取所有的列?C (A)SELECT [all] FROM Persons (B)SELECT Persons (C)SELECT * FROM Persons (D)SELECT *.Persons 7.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值等于"Peter" 的所有记录?D (A)SELECT [all] FROM Persons WHERE FirstName='Peter' (B)SELECT * FROM Persons WHERE FirstName LIKE 'Peter' (C)SELECT [all] FROM Persons WHERE FirstName LIKE 'Peter' (D)SELECT * FROM Persons WHERE FirstName='Peter' 8.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值以"a" 开头 的所有记录?A (A)SELECT * FROM Persons WHERE FirstName LIKE 'a%' (B)SELECT * FROM Persons WHERE FirstName='a' (C)SELECT * FROM Persons WHERE FirstName LIKE '%a' (D)SELECT * FROM Persons WHERE FirstName='%a%' 9.哪个SQL 关键词用于对结果集进行排序?D (A)ORDER (B)SORT BY (C)SORT (D)ORDER BY 10.通过SQL,您如何向"Persons" 表插入新的记录?C (A)INSERT ('Jimmy', 'Jackson') INTO Persons (B)INSERT V ALUES ('Jimmy', 'Jackson') INTO Persons (C)INSERT INTO Persons V ALUES ('Jimmy', 'Jackson') 11.以下聚合函数求数据总和的是( B ) A.MAX B.SUM C.COUNT D.A VG 12.SELECT语句的完整语法较复杂,但至少包括的部分是( A ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 13.SQL语句中的条件用以下哪一项来表达( C ) A.THEN B.WHILE C.WHERE D.IF 14.以下能够删除一列的是( B )

苏州大学SQL重点复习资料培训讲学

1.数据独立性高 ?物理独立性 –指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 ?逻辑独立性 –指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。 ?数据独立性是由DBMS的二级映像功能来保证的 2.三级模式 ?外模式 ?模式 ?内模式 ?保证数据库的数据独立性 3.模式 ?模式(也称逻辑模式、数据库模式、概念模式) –数据库中全体数据的逻辑结构的描述 –所有用户的公共数据视图,综合了所有用户的需求 ?一个数据库只有一个模式 ?模式的地位:是数据库系统模式结构的中间层 –与数据的物理存储细节和硬件环境无关 –与具体的应用程序、开发工具及高级程序设计语言无关 ?模式的定义 –数据的逻辑结构(数据项的名字、类型、取值范围等) –数据之间的联系 –有关数据的安全性、完整性要求 4.外模式 ?外模式(也称子模式或用户模式) –数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构的描述 –数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 ?外模式的地位:介于模式与应用之间 –模式与外模式的关系:一对多 ?外模式通常是模式的子集 ?一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方 式、对数据保密的要求 ?对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同–外模式与应用的关系:一对多 ?同一外模式也可以为某一用户的多个应用系统所使用, ?但一个应用程序只能使用一个外模式。 ?外模式的用途 保证数据库安全性的一个有力措施。 每个用户只能看见和访问所对应的外模式中的数据 5.内模式 ?内模式(也称存储模式) –是数据物理结构和存储方式的描述 –是数据在数据库内部的表示方式 ?记录的存储方式 ?索引的组织方式 ?数据是否压缩存储 ?数据是否加密 ?一个数据库只有一个内模式 6.三级模式与二级映象 ?三级模式是对数据的三个抽象级别 ?二级映象在DBMS内部实现这三个抽象层次的联系和转换 7.外模式/模式映象 ?定义外模式与模式之间的对应关系 ?每一个外模式都对应一个外模式/模式映象 ?映象定义通常包含在各自外模式的描述中 8.外模式/模式映象的用途 ·保证数据的逻辑独立性

sql复习题

一、填空 1、通过SQL语句,使用create database命令创建数据库,使用 sp_helpdb 命令查看数据库定义信息,使用 sp_dboption 命令设置数据库选项,使用 alter database 命令修改数据库结构,使用 drop database 命令删除 数据库。 2、创建表用 create table 语句,向表中添加记录用 insert语句,查看表 的定义信息用 sp_help 语句,修改表结构用alter table语句,删除表用drop table 语句。 3、数据完整性包括实体完整性、域完整性、参照完整性和用户定义 完整性。 4、SQL Server2005的常用工具有:SQL Server Management Studio、 SQL Server Configuration Manager、SQL Server外围应用配置器、事件探查器等。 5、批处理的结束标志是 go语句。 6、目前最常用的数据模型有层次模型、网状模型和关系模型。20世纪80年代以来,关系模型逐渐占主导地位。 7、数据模型的三要素包括数据结构、操作集合和数据完整性约束条件。 8、概念数据模型简称E-R模型,它用于描述整个组织的概念模式。 9、选择运算是从一个关系中选出所有满足条件的元组组成新的关系。 投影运算是从一个给定关系的所有属性中选择某些指定属性,组成一个新的关系。 10、按照功能,SQL语言可以分为:数据定义语言、数据查询语言、数据操纵语言 和数据控制语句4类。 11、在SQL Server中,主数据文件的后缀名是MDF,事务日志文件的后缀名 是LDF。 12、在SQL中创建一个数据库的命令是 create database,在SQLSERVER2005中可 以使用 sp_helpdb 命令来查看指定数据库的信息。

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

(SQLServer)考试试题及答案

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中出现

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语言中,条件年龄BETWEEN15AND35表示年龄在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)查询王文芳同学选修的所有课程的课程号;

SQL复习

SQL理论填空、简答复习 1、在E-R图中,矩形表示实体、椭圆表示属性、菱形表示关系 2、实体间的联系有一对一、一对多、多对多三种关系 3、PowerDesigner工具可生成概念数据模型和物理数据模型 4、需求分析是整个数据库设计的基础,此阶段需收集数据库所有用户的信息内容和处理要 求,并加以规范和分析。 5、需求分析的任务是:1)对现实世界要处理的对象进行详细的调查 2)通过对原系统的了解,收集支持新系统的基础数据 3)对所收集的数据进行处理 4)确定新系统的功能 6、在概念模型中,涉及的主要概念包括:实体、属性、域、码、实体间联系 7、设计数据库概念模型的实质是:对系统中的事件进行抽象、形成实体,并明晰实体间的联系 8、数据库逻辑结构设计就是将在概念结构设计阶段设计完成的E-R图,转换为与所选用的 ,其主要任务是抽象出系统中的实体和实体之间的联系。 10、查询数据表数据,SELECT语句中必须包含的子句是SELECT和FROM 11、使用GROUP BY子句对数据进行分组,分组的含义是通过一定规则将一个数据集划分为若干个小的区域,然后针对若干个小区域进行统计汇总 12、SELECT语句使用DISTINCT过滤重复行,使用TOP n来显示明n条记录 13、LIKE关键字与通配符共同实现模糊查询,其中,%通配符用于匹配0到多个任意字符;-通配符仅匹配任意一个字符;[]通配符用于指定一个字符集合 14、聚合函数包括:SUM()、MAX()、MIN()、AVG()、COUNT() 15、SELECT语句中各子句的执行顺序:FROM、WHERE、GROUP BY、HAVING、ORDER BY 16、子查询的实质是:一个SELECT语句的查询结果能够作为另一个语句的输入值。子查询不仅可以用在WHERE子句中,还能够用于FROM子句中,此时,子查询的结果将作为一个临时表来使用 17、单行比较符一般包括:=、>、<、>=、<=和<> 18、多行比较符一般包括:IN、ALL和ANY|SOME 19、子查询的执行过程遵循“由里及外”的原则,即总是先执行最内层的子查询语句,执行完毕后将执行结果与外层的语句进行合并,依次逐层向外扩展并最终形成完成的SQL语句。 20、相关子查询的特点是其无法独立于外部主查询,只能依赖于外部主查询 21、依赖于外部主查询的子查询称为相关子查询,其执行过程如下: 1、从主查询中取出一条记录,将该行记录相关列的值传给子查询 2、执行子查询,得到子查询执行完毕后的值 3、主查询依据子查询返回的结果或结果集得到满足条件的行 4、主查询取出下一条记录,重复步骤1~3,直至外层主查询的记录全部处理完毕。 21、EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值TRUE或FALSE。 22、EXISTS与IN的使用场合,通常遵循的原则是:IN适用于主查询结果行数较大,子查询结果行数较小的情况(俗称“外表大内表小”); EXISTS适用于主查询结果行数比较小,子查询结果行数比较大的情况(俗称“外表小内表大”)

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

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练习题

测试表格 --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 分数 创建测试数据

学生表 Student create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10)) insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男') insert into Student values('02' , N'钱电' , '1990-12-21' , N'男') insert into Student values('03' , N'孙风' , '1990-05-20' , N'男') insert into Student values('04' , N'李云' , '1990-08-06' , N'男') insert into Student values('05' , N'周梅' , '1991-12-01' , N'女') insert into Student values('06' , N'吴兰' , '1992-03-01' , N'女') insert into Student values('07' , N'郑竹' , '1989-07-01' , N'女') insert into Student values('08' , N'王菊' , '1990-01-20' , N'女') 科目表Course create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10)) insert into Course values('01' , N'语文' , '02') insert into Course values('02' , N'数学' , '01') insert into Course values('03' , N'英语' , '03')

_SQL复习完全体

《数据库技术与应用》复习样题 在C盘根目录上创建文件夹DataBase;将“研究生管理-备份-20161009.BAK”复制到C盘根目录下;然后通过界面操作将该备份文件还原为“研究生管理”数据库 粘贴SQL命令时,应使用“选择性粘贴-文本” 编写SQL命令: 1.创建数据库stud1:有两个数据文件,分别保存在C盘根目录下\ABC和D盘根目录下\123,物 理文件名分别为s1.mdf和s2.ndf,逻辑文件名分别为s1_data和s2_data,大小分别为10MB和20MB,最大尺寸为100MB很200MB,增长方式分别为5%和5MB;要求日志文件的逻辑名为s_log,保存在D盘根目录\123上,文件名s_log.ldf,5MB,最多为25MB,按每次25%速率增加。 create database stud1 on ( name=s1_data, filename='c:\ABC\s1.mdf', size=10, maxsize=100, filegrowth=5% ), (name=s2_data, filename='e:\123\s2.ndf', size=20, maxsize=200, filegrowth=5 ) log on (name=s_log, filename='e:\123\s_log.ldf', size=5, maxsize=25, filegrowth=25% ) 2.用SQL命令在“研究生管理”数据库中创建下面的数据表,该表以“学生信息”为表名保存。 SQL代码: 3.

4.创建默认值对象sex_defa,取值“女”,并将其分别绑定到研究生表的性别字段、导师表的性别 字段,并验证其作用。SQL代码: 5.在“研究生管理”数据库中创建“学生”表,字段包括学号、姓名、性别和年龄,要求同时建 立check约束(无名),使性别限定于“男”或“女”,而年龄的范围限制在18~22岁(约束名 6.用SQL代码创建规则对象sex_rule(限定“男”或“女”),绑定到研究生表的性别字段;创建规 则对象age_rule(限定数值30~60),绑定到导师表的年龄字段上,并验证其作用。SQL代码: 7. 8.用SQL代码将导师表的“导师编号”字段定义为主键,约束名th_pk;将研究生表的“导师编 号”定义为外键,参照表为导师表,约束名为st_fk。完成后在研究生表中输入数据进行约束验证。SQL代码: 9. 10. 11. 12.输出每位导师的姓名、年龄及其出生年份。出生年份的计算方法是用今年年份减去年龄。SQL

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.wendangku.net/doc/903983131.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初学者们的终极教材 <上一篇 | 下一篇> 此教材可以说涉及的范围是非常广的。。我们平常写的SQL语句都是出现在里面的。。且每一种方法都有案例,所以说如果你把所有的案例应用理解透的话。。可以说你已经成为高手了。。知识都是得靠自己去掌握的。。多看,多想。多问。多动手。相信你一定很快掌握的。。 use master go --创建数据库book_manage create database book_manage on ( name = book_manage_primary, filename = 'd:\data\book_manage.mdf', size = 10, maxsize = 20, filegrowth = 5 ) log on ( name = book_manage_log, filename = 'd:\data\book_manage.ldf', size = 5, maxsize = 20, filegrowth = 5 ) go --查看book_manage数据库信息 exec sp_helpdb book_manage --修改数据库日志文件扩展空间 alter database book_manage modify file ( name = book_manage_log, filegrowth = 5

--创建新表 use book_manage go create table tb_bookinfo ( book_ID char(6) not null, bookname char(30) not null, price decimal(18,2) not null, authorID char(4), publishID char(4) ) create table tb_authorinfo ( authorID char(4) not null, authorname char(20) not null, sex char(2), age tinyint, authaddress char(30) ) go create table tb_pubinfo ( publishID char(4) not null, pubname char(20) not null, pubaddress char(30) ) create table temp1 ( temID char(4) not null, temname varchar(30) not null default '默认名称' ) create table tbl_a ( emp_id char(2) not null, emp_name char(10) not null, emp_age char(2) ) create table tbl_b

相关文档