文档库 最新最全的文档下载
当前位置:文档库 › 数据库SQL练习题

数据库SQL练习题

数据库SQL练习题
数据库SQL练习题

数据库应用(SQL Server)练习题

一题:单选

1. 在Transact-SQL中,下列命令能让程序完全跳出循环的是( C )。

(A) CASE (B) WAIT (C) BREAK (D) CONTINUE

2. 在SQL SERVER 2008中,不能恢复的操作是( D )。

(A) DELETE (B) UPDATE (C) INSERT (D) TRUNCATE TABLE

3. 在SQL SERVER 2008中,默认的事务隔离级别是(A )。

(A) READ COMMITTED (B) READ UNCOMMITTED (C) REPEATABLE READ (D) SERIALIZABLE

4. 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的(D )。

(A) 元组(B) 关键字(C) 记录(D) 属性

5. 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为( B )。

(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. SQL语言查询一次的结果是一个(B )。

(A) 元组(B) 表(C) 属性(D) 数据库

7. 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为(B )。

(A) 平凡函数依赖(B) 部分函数依赖(C) 完全函数依赖(D) 传递函数依赖

8. 如果删除表中的数据,而不删除表,应使用的选项是(A )。

(A) DELETE (B) DROP (C) UNION (D) REMOVE

9. 下列关于DELETE语句的说法中错误的是(D )。

(A) DELETE语句可以删除一行数据(B) DELETE语句可以删除表中所有数据

(C) DELETE语句可以带有子查询(D) DELETE语句可以删除多个表中的数据

10. 下列选项中,可以正确表达姓“张”的通配符是(B )。

(A) 张_ (B) 张% (C) 张^ (D) 张&

11. 下列聚合函数中正确的是(C )。

(A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) A VG (*)

12. 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是(C )。

(A) SUM (B) ABS (C) LEFT (D) ROUND

13. 在SQL的SELECT语句中,与投影运算对应的子句是(A )。

(A) SELECT (B) FROM (C) WHERE (D) GROUP BY

14. 在SQL语言中,给表起别名应使用(A )。

(A) AS (B) RENAME (C) SET (D) FOR

15. 在SELECT语句中使用GROUP BY SNO时,SNO必须(C )。

(A) 在WHERE中出现(B) 在FROM中出现(C) 在SELECT中出现(D) 在HA VING中出现

16. 要想使关系R和S进行等值连接时,结果集不仅包含符合连接条件的匹配元组,也包括S和R中的所有元组,应使用(D )。

(A) JOIN (B) LEFT JOIN (C) RIGHT JOIN (D) FULL JOIN

17. 在SQL语言中,下面关于谓词EXISTS说法错误的是(C )。

(A) 谓词EXISTS后面可以跟相关子查询(B) 谓词EXISTS后面可以跟不相关子查询

(C) 谓词EXISTS后面的子查询返回一个记录的集合(D) 谓词EXISTS可以用在WHERE子句中

18. 在SQL语言中,不可以和ANY谓词一起使用的运算符是(D )。

(A) AND (B) > (C) <> (D) =

19. 在动态SQL中,下列语句表示立刻执行一个SQL语句文本的是(A )。

(A) EXECUTE (B) EXECUTE IMMEDIATE (C) PROCESS (D) PROCESS IMMEDIATE

20. 在Transact-SQL中,下列选项不属于数值型数据类型的是(D )。

(A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE

21. 为数据表创建索引的目的是(A )。

(A)提高查询的检索性能(B)加快数据库的打开速度(C)创建主键(D)归类

22. 在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间常用的方法是创建( C )。

(A) 另一个表(B) 游标(C) 视图(D) 索引

23. 数据的存储结构与数据逻辑结构之间的独立性称为数据的(C )。

(A) 结构独立性(B) 物理独立性(C) 逻辑独立性(D) 分布独立性

24. 在SQL SERVER 2008中,下列选项中不属于基本表权限的是(D )。

(A) SELECT (B) INSERT (C) UPDATE (D) EXCUTE

25. 在SQL SERVER 2008中,系统存储过程在系统安装时就已创建,这些存储过程存放在(A )系统数据库中。

(A) master (B) tempdb (C) model (D) msdb

26. 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有(C )。

(A) 1:1联系(B) 1:n联系(C) n:m联系(D) 多种联系

二题:判断

1. 数据库不允许存在数据冗余。、、、、、、错

2. 3NF中存在非主属性对码的部分依赖。、、、、、、、、错

3. 在SQL SERVER 2008中,只有行级锁。、、、、、、、、、、、、错

4. 在SQL SERVER 2008中,能在游标中删除数据记录。、、、、、、、、、、、、对

5. 在SQL SERVER 2008中,引发触发器的SQL语句一定会执行。、、、、、、、、、、错

6. Having语句可以放在WHERE语句后面作为元组选择的附加条件。、、、、、、、、错

7. 在SQL SERVER 2008中,可以使用CREATE语句创建数据库对象。、、、、、、、对

8. 在SQL SERVER 2008中,允许字段名为汉字。、、、、、、、、、、、、、、、、、、、、、、、、、、对

三题:设计

1.

输入语句,创建名为“Exam”的数据库。操作成功后,保存所有语句,把保存文件命名为T2-1.sql,并保存

到考生文件夹中。

Create database Exam

go

2. 输入语句,创建以上3个基本表及主键,并插入表4、表5和表6所给数据。操作成功后,保存所有语句,把保存文件命名为T2-2.sql,并保存到考生文件夹中。

Use Exam

Go

Create table book

(

Bno char(4),

Bname char(20),

Author char(10),

Publish char(20),

Pubdate datetime

)

Create table reader

(

Rno char(4),

Rname char(10)

)

Create table borrow

(

Borrow int,

Bno char(4),

Rno char(4),

Borrowdate datetime

)

Insert into book

Values(‘0001’,’数据库原理’,’李明’,’出版社A’,’2008-10-01’)

Insert into book

Values(‘0002’,’软件工程’,’张永’,’出版社B’,’2008-08-09’)

Insert into book

Values(‘0003’,’操作系统’,’赵明哲’,’出版社A’,’2009-03-06’)

Insert into book

Values(‘0004’,’数据结构’,’张辉’,’出版社C’,’2009-05-28’)

Insert into book

Values(‘0005’,’编译原理’,’孙兵’,’出版社B’,’2009-10-30’)

Insert into reader

Values(‘0001’,’李莎’)

Insert into book

Values(‘0002’,’陈世杰’)

Insert into book

Values(‘0003’,’吴忠’)

Insert into borrow

Values(1,’0001’,’0001’,’2010-03-15’)

Insert into borrow

Values(2,’0002’,’0001’,’2010-03-20’)

Insert into borrow

Values(3,’0002’,’0002’,’2010-03-30’)

Insert into borrow

Values(4,’0003’,’0002’,’2010-04-05’)

Insert into borrow

Values(5,’0003’,’0001’,’2010-04-12’)

Insert into borrow

Values(6,’0004’,’0001’,’2010-04-21’)

3. 输入语句,在借书表上为“借书日期”列加上default约束,默认值为当前系统日期。操作成功后,保存所有语句,把保存文件命名为T2-3.sql,并保存到考生文件夹中。

Alter table borrow

Add constraint borrow_d default getdate() for borrowdate

4. 输入语句,查询“操作系统”的所有借书记录。查询成功后,保存所有语句,把保存文件命名为T2-4.sql,并保存到考生文件夹中。

Select *

From borrow

Where bno in (

Select bno

From book

Where bname = ‘操作系统’

)

5. 输入语句,查询“出版社A”所出版图书每本的借阅次数,查询结果由“图书编号”和“借阅次数”两列组成。查询成功后,保存所有语句,把保存文件命名为T2-5.sql,并保存到考生文件夹中。

Select bno as图书编号,count(rno) as借阅次数

From borrow

Where bno in(

Select bno

From book

Where publish =’出版社A’

)

Group by bno

6. 输入语句,查询借阅次数最多图书的图书名称。查询成功后,保存所有语句,把保存文件命名为T2-6.sql,并保存到考生文件夹中。

Select top 1 book .bno as图书编号, bname as 图书名称,count(rno) as借阅次数

From book inner join borrow

On book .bno=borrow .bno

Group by book .bno

Order by count(rno) desc

7. 输入SQL语句,实现查询没有借过任何书的读者的读者编号和读者姓名。查询成功后,保存所有语句,

把保存文件命名为T2-7.sql,并保存到考生文件夹中。

Select rno,rname

From reader

Where rno not in(

Select rno

From borrow

)

8. 输入语句,在“图书表”和“借书表”之间进行左外连接操作,连接条件是图书编号相等。操作成功后,保存所有语句,把保存文件命名为T2-8.sql,并保存到考生文件夹中。

9. 输入语句,查询2010年4月的借书记录。查询成功后,保存所有语句,把保存文件命名为T2-9.sql,并保存到考生文件夹中。

Select *

From borrow

Where borrowdate>=’2010-04-01’ and borrowdate<’2010-05-01’

10. 输入语句,查询最近3次借书记录。查询成功后,保存所有语句,把保存文件命名为T2-10.sql,并保存到考生文件夹中。

Select top 3 borrowno,bno,rno,borrowdate

From borrow

Order by borrowdate desc

11. 输入语句,在图书表的图书名称列建立一个名为“bnameindex”的非聚簇索引,要求该索引采取降序排列。操作成功后,保存所有语句,把保存文件命名为T2-11.sql,并保存到考生文件夹中。

Create nonclustered index bnameindex

on book(bname desc)

Access数据库应用基础教程(第三版)习题及答案

Access数据库应用基础教程(第三版)习题集答案 第1章数据库系统概述 1. 什么是数据库?什么是数据库系统?答:数据库(database)是存放数据的仓库,严格的讲,数据库是长期存储在计算机内,有组织的,可共享的大量数据集合。 数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。 2. 什么是数据库管理系统?它有哪些主要功能? 答:数据库管理系统(database management system)是一种操纵和管理数据

库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库管理系统的主要功能有:数据定义、数据操作、数据库的运行管理、数据组织、数据库的保护、数据库的维护和通信。 3. 说出几种常用的数据模型。 答:层次模型、网状模型、关系模型。4. 什么是关系模型? 答:关系模型是用二维表的形式表示实体和实体间联系的数据模型。 5. 简述数据库设计的步骤。 答:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的建立和测试、数据库运行和维护。 第2章 SQL 语言简介 1. 什么是SQL语言?SQL语言具有哪些特点和功能? 答:SQL是一种数据库查询和程序设计语言,用于存取数据以及查询更新和管理关系

数据库系统。 SQL的特点和功能有:查询,操作,定义和控制四个方面,SQL语言具有高度的非过程化,语言简洁,语义明显,语法结构简单,直观易懂的特点。SQL语言即可以作为独立语言使用,用户可以在终端键盘上直接键入SQL命令对数据库进行操作,也可以作为嵌入式语言,嵌入到其他高级语言中。 2. SQL语言包含哪几个部分? 答:SQL语言包含4个部分:数据定义语言(DDL-Data Definition Language)、数据查询语言(DQL-Data Query Language)、数据操纵语言(DML-Data Manipulation Language)、数据控制语言(DCL-Data Control Language) 3. 在联接查询中,包含哪几类联接?答:联接可分为3类: (1)内部联接(典型的联接运算,使用类似于 = 或 <> 的比较运算符)。内部联接使用比较运算符根据每个表的通用列中的值匹配两个表中的行。内部联接包括同等

SQL数据库基础知识集合

1、数据库简介: 数据库是专门开发数据管理的软件,或者说专门管理数据的软件就是数据库。 数据库存在的意义就是:减轻开发人员的负担。数据库是一个综合的软件,那么我们不需要队要进行2进制保存数据进行处理了,但是却是要与数据库产生交互,那么命令式SQL,有技巧的,数据库就是万物皆关系(面向对象,万物皆是对象)有所区别。 2、数据库的发展: 一开始的是层次化的数据与网状数据库,后来也发现使用确实很麻烦。 于是到了1970年EF.Cold博士(IBM公司的研究员)开创了关系性的数据库的先驱,发表了关系性数据库的论文,但是由于当时电脑硬件的局限性,大家觉得跑如此大的程序不值得。后来,Oracle(甲骨文)公司的创始人,拉里带领Oracle投入到关系型数据库的研发,并且得到了一个大客户—美国国防部。随即开始世界刮起了关系数据库的旋风,随后各个公司都纷纷推出自己的数据库系统。比如:IBM的DB2 ,还有风靡一时的DBS3。 但是随即出现不兼容的问题,由于最早的时候都没有进行没规范。所以到最后各个数据库巨头统一了操纵数据库的SQL(结构化Struct数据查询语言)变成了标准语言,而关系型数据库也俨然变成大家的宠儿,Oracle也从一个小公司,变成现在的数据库巨头,而我们的微软也推出了SQLServer。当然还有PHPer的最爱mySQL。但是mySQL被SUN,SUN 被Oracle收购,现在有免费版与收费专业版了。所以我们学习SQL语言的时候,先学共同点,再学特异性。各种数据库软件在使用上有一点区别。 3、数据库系统详解: 为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。 数据库系统一般由4个部分组成: 数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。(个体) 数据库管理系统(DBMS)。一组能完成描述、管理、维护子数据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作。 数据库管理员(DBA)。 用户和应用程序。(微软的称作SSMS) 4、数据库系统的基本要求是: 1、能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。 2、冗余数据少,数据共享程度高。 3、系统的用户接口简单,用户容易掌握,使用方便。 4、能够确保系统运行可靠,出现故障时能迅速排除,能够保护数据不受非受权者访问或破坏,能够防止错误数据的产生,一旦产生也能及时发现。 5、有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。 6、具有可修改性和可扩充性、可维护性。 7、能够充分描述数据间的内在联系。 5、数据库(Database): 由众多的数据、数据表、约束、存储过程、函数、视图、索引构成的一个数据存储与交互单元,是按照数据结构来组织、存储和管理数据的仓库。 6、数据表(table): 数据表,实际上是一个二维表。一般是围绕一个事务、动作记录,或者是一个信息主题作为一个数据表。数据表由行与列构成。 7、列(column、field): 列,其实就是字段。也是决定了信息的基本单元。列,包含有数据类型的设定。 8、行(row、record): 行,实际上就是一条基本信息。一行包含了多列数据的存储的信息。所以一行也有一条记录之称。 9、行业(trade) 一个行业一种需求,没一个需求每一种数据库的设计模式与思想。每个行业的数据设计的重点都是不同的。侧重查询(要求低范式)还是操作(要求搞范式)就是自己选择的问题了。 10、索引(index) 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引其实就是一个B+树,但是这个索引是N^n层数次方的。目的就是在数据库中划分出一定的区域优化查询。可以提升大量数据的查询速度。索引一般可以分为:基于字段优化查询速度的普通索引、唯一性索引、主键索引、全文索引、单列与多列索引。现在由于数据库系统的不断升级,我们只要设定索引就可以了,不需要特殊的维护。而且数据在查询的时候也会根据查询适当地选择是利用索引查询,还是仅仅是表查询。由于数据库系统的发展,系统内部已经自动帮我们完成对索引的维护。但是在设计的时候要考虑到索引的损耗问题。数据库DB就像是一个字典,索引就是根据指定字段制成的快速指向。由于只是指向数据对象标识,真正的数据是存储在DB中,所以查询速度极快。但是额外的内存与硬盘花销也是一个需要考虑的问题。比如:增加、删除、修改时数据库都要对索引进行维护,但是这样也是为了最后查询的效率的提升,特别适合W行级别的数据查询。而索引可以分为:隐式索引(针对单个字段)、唯一索引(唯一约束)、函数索引(函数(字段))、聚簇索引(主键)、组合索引(最多16个field)与全文索引(text)。一般索引会占用原数据库大小的20%。 11、视图(view) 固化的子查询,将一个子查询起了一个固化的名字,保存在数据库中,方便以后的使用。其实调用大量的Join来进行一个查询一般也是用视图。视图与索引都是为了优化查询的速度与语句。视图是优化语句,索引是优化单查速度。一般是DBA来设定数据库的视图,封装内部数据库的数据关系,范式修改数据容易了,视图让我们查询复杂关系的数据变得容易。 12、触发器(trigger) 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以从DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。 13、SQLServer数据类型详解

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析 (borrow 表) (reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排 序。4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。6) 检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。9)* 无重复地查询xx年10月以后借书的读者借书证号(READER_ID)、姓名和单位。##10)* 找出借阅了一书的借书证号。11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。12) 查询xx年7月以后没有借书的读者借书证号、姓名及单位。#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。##14)* 求”信息系”当前借阅图书的读者人次数。#15) 求出各个出版社图

书的最高价格、最低价格和总册数。#16) 分别找出各单位当前借阅图书的读者人数及所在单位。17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18) 分别找出借书人次数多于1人次的单位及人次数。19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。20) 查询经济系是否还清所有图书。如果已经还清,显示该系所有读者的姓名、所在单位和职称。附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK ( BOOK_ID int, SORT VARCHAR(10), BOOK_NAME VARCHAR(50), WRITER VARCHAR(10), OUTPUT VARCHAR(50), PRICE int); 创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50)); 创建BORROW:(借阅表)CREATE TABLE BORROW ( READER_ID int, BOOK_ID int, BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(445501,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445502,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445503,'TP3/12','数据库导论','王强','科学出版社',

(整理)SQLServer数据库基本知识点.

SQL Server 数据库基本知识点一、数据类型

二、常用语句 (用到的数据库Northwind) 查询语句 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询Customers 表中公司名称为“Alfreds Futterkiste”的ContactName字段和Address字段。 SELECT ContactName, Address FROM Customers WHERE CompanyName='Alfreds Futterkiste' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示Customers表中所有列的数据: SELECT * FROM Customers 2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT ContactName, Address FROM Customers 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题 as 列名 列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT ContactName as 联系人名称, Address as地址 FROM Customers 4、删除重复行

SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 SELECT DISTINCT(Country) FROM Customers 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: SELECT TOP 2 * FROM Customers SELECT TOP 20 PERCENT * FROM Customers (二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在Orders和Customers表中同时存在CustomerID列,在查询两个表中的CustomerID时应 使用下面语句格式加以限定: select * from Orders,Customers where Orders.CustomerID =Customers.CustomerID 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名别名 select * from Orders as a,Customers as b where a.CustomerID =b.CustomerID SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 例如: select * from Customers where CustomerID in (select CustomerID from Orders where EmployeeID=4) 此例中,将SELECT返回的结果集合给予一别名CustomerID,然后再从中检索数据。 (三) 使用WHERE子句设置查询条件 WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:select CustomerID from Orders where EmployeeID=4

SQL基础测试2

SQL基础理论测评 姓名得分 一、填空题(10*2分) 1:SQL中定义变量的关键字: 2:多表连接有(请在横线上,写出对应的关键字) 左连接右连接内连接 3:获取系统日期和时间的函数: 4:关系模型的数据操纵即是建立在关系上的数据操纵, 一般有__ _ 、、和四种操作。 5:sql sever 2005中删除表的命令是删除表中字段值的命令是 6:sql sever 2005中order by [字段名] 后跟表示升序,跟表示降序7:在结果集中过滤掉重复的记录使用关键字: 8:SQLServer中表间的关系有:、、 9:多表查询中定义表的别名的关键字是。 10:sql中数据类型转换函数和 二、判断题(10*2) 1、sql server 2005 查询结果中不能存在相同的字段名。() 2、sql server 2005 存储过程没有返回值。() 3、sql server 2005 函数只能返回一个数值。() 4、convert不能把时间类型转换成字符型。() 5、master和tempdb都是SQLServer2005 的系统数据库。() 6、sql server 2005中不等于可以用<> 和!= 都可以。() 7、sql中没有货币类型。() 8、在查询语句中系统最先执行的操作是搜索当前系统查询所使用的表,所 以最先执行的语句是FROM 子句。() 9、存储过程要比单纯的Sql 语句执行起来要快。() 10、sql sever 中获取字符串长度的函数为:lenstr。() 三、简答题(5*12) 1.【SQL】用SQL语句,描述下列内容: 获取客户端主机名: 生成错误消息,抛出异常: 自增列: 获取上一次执行行数: 保存表中字段信息的系统表表名:

数据库sql练习题

use test /* 问题及描述: --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 分数 select * from Student select * from Course select * from Teacher select * from SC */ --创建测试数据 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'女') 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') create table Teacher(T# varchar(10),Tname nvarchar(10)) insert into Teacher values('01', N'张三') insert into Teacher values('02', N'李四') insert into Teacher values('03', N'王五') create table SC(S# varchar(10),C# varchar(10),score decimal(18,1)) insert into SC values('01','01', 80) insert into SC values('01','02', 90) insert into SC values('01','03', 99) insert into SC values('02','01', 70) insert into SC values('02','02', 60) insert into SC values('02','03', 80)

ACCESS数据库练习题

第1章数据库基础 一、选择题 2010是一种()。 A. 数据库 B. 数据库系统 C. 数据库管理软件 D. 数据库管理员 2010数据库对象中,()是实际存放数据的地方。 A. 表 B. 查询 C. 报表 D.窗体 2010数据库中的表是一个()。 A. 交叉表 B. 线型表 C. 报表 D.二维表 4.在一个数据库中存储着若干个表,这些表之间可以通过()建立关系。 A. 内容不相同的字段 B. 相同内容的字段 C. 第一个字段 D. 最后一个字段 5.Access数据库属于()数据库。 A)、层次模型 B)、网状模型 C)、关系模型 D)、面向对象模型6.打开Access数据库时,应打开扩展名为()的文件。 A)、mda B)、accdb C)、mde D)、DBF 7. 下列()不是Access数据库的对象类型? A)、表B)、向导C)、窗体D)、报表 8.创建表时可以在()中进行。 A)、报表设计器 B)、表浏览器 C)、表设计器 D)、查询设计器9.文本类型的字段最多可容纳()个字符。 A)、255 B)、256 C)、128 D)、127 10.二维表由行和列组成,每一行表示关系的一个() A. 属性 B. 字段 C.集合 D. 记录 11.在Access 2010数据库中,专用于打印的是() A. 表 B. 报表 C.窗体 D. 宏 12.定义字段的默认值的含义是()

A. 不得使该字段为空 B. 不允许字段的值超出某个范围 C. 系统自动提供数值 D. 自动把小写字母转为大写 13.在Access 数据库中,关系选项不包括() A.参照完整性 B. 提高查询 C. 级联更新 D. 级联删除 14. 如果在创建表中建立字段“性别”,并要求用汉字表示,其数据类型应当是() A. 是/否 B. 数字 C. 文本 D. 日期/时间 15. 书写查询准则时,日期型数据应该使用适当的分隔符括起来,正确的分隔符是() A. * B. % C. # D. & 16.Access 2010数据库属于()数据库。 A.层次模型 B. 网状模型 C. 关系模型 D.面向对象模型 17. 数据库的英文缩写为( )。 A. DBA B. DB C. DBMS D. DBS 18.下列( )不是ACCESS 2010数据库的对象类型。 A. 表 B. 查询 C. 窗体 D. 向导 19.Access 2010数据库中不存在的数据类型是() A. 文本 B. 数字 C.通用 D. 日期/时间 20. DBMS是( ) A.数据库 B.数据库系统 C.数据库管理系统 D.数据处理系统 21. DBS是指() A.数据 B.数据库 C.数据库系统 D.数据库管理系统 二、填空题 2010数据库中的表以行和列来组织数据,每一行称为,每一列称为。 2010数据库中表之间的关系有、和关系。 3.报表是把数据库中的数据的特有形式。 4. 用二维表的形式来表示实体之间联系的数据模型叫做。

数据库基础知识和sql语句

第一章数据库基础知识 本章以概念为主,主要是了解数据库的基本概念,数据库技术的发展,数据模型,重点是关系型数据。 第一节:信息,数据与数据处理 一、信息与数据: 1、信息:是现实世界事物的存在方式或运动状态的反映。或认为,信息是一种已经被加工为特定形式的数据。 信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值 2、数据:数据是信息的载体和具体表现形式,信息不随着数据形式的变化而变化。数据有文字、数字、图形、声音等表现形式。 3、数据与信息的关系:一般情况下将数据与信息作为一个概念而不加区分。 二、数据处理与数据管理技术: 1、数据处理:数据处理是对各种形式的数据进行收集、存储、加工和传输等活动的总称。 2、数据管理:数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本操作,称为数据管理。数据管理是数据处理的核心问题。 3、数据库技术所研究的问题不是如何科学的进行数据管理。 4、数据管理技术的三个阶段:人工管理,文件管理和数据库系统。 第二节:数据库技术的发展 一、数据库的发展:数据库的发展经历了三个阶段: 1、层次型和网状型: 代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。 2、关系型数据型库: 目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysem R和Inges。 3、第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。 二、数据库技术的发展趋势: 1、面向对象的方法和技术对数据库发展的影响: 数据库研究人员借鉴和吸收了面向对旬的方法和技术,提出了面向对象数据模型。 2、数据库技术与多学科技术的有机组合: 3、面向专门应用领域的数据库技术 三、数据库系统的组成:

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语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1、d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],、、) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definit ion only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的就是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col…、) 删除索引:drop index idxname 注:索引就是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement

sql数据库练习题

第一讲 1、什么是数据管理? 答:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。 2、在数据库的三个模式中( C )。 A.内模式只有一个,而模式和外模式可以有多个 B.模式只有一个,而模式和外模式可以有多个 C.模式和内模式只有一个,而外模式可以有多个 D.模式、内模式和外模式均只有一个 3、学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( D ) A.多对多 B.一对一 C.多对一 D.一对多 4、储蓄所有多个储户,一个储户可以在多个储蓄所存取款,储蓄所和储户之间的联系类型是:A A.多对多 B.一对一 C.多对一 D.一对多 5、学生、系、系与学生之间的一对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 系(系号,系名,办公地点) 6、系、系主任、系与系主任间的一对一联系

联系隐含在关系内部: 系(系号,系名,办公地点) 系主任(教师编号,姓名,年龄,性别,所在系号) 第四讲 1、什么是关系数据库? 答:关系数据库(P18):所谓关系数据库就是采用关系模型作为数据的组织方式,换名话说就是支持关系模型的数据库系统。 2、关系数据的操作语言有哪几类,分别是什么? 答:(1)、关系代数 (2)、关系演算 (3)、SQL语言 3、关系数据的完整性约束分别是什么? 答:(1)、实体完整性 (2)、参照完整性 (3)、用户定义完整性 4、什么是码及候选码?并找出下述关系中的候选码。 职工编号姓名部门号身份证号联系方式555294562马丽00134545657345783535575 225577578刘小00134556578787964546576 745766845林立00235567677979864544657 答:(1)、码(P20):在关系的各个属性中,能够用来惟一标识一个元

SQL数据库基本语法格式

基本语法格式 select(聚合函数)的语句格式:(这个不会考试就危险 了) select * from 表名 上面一句可以查出一张你指定表名的表里的全部东西,* 的位置可以替换其他的东西,比如:select 列 1 名, 列 2 名from 表名 这样你就可以只看表里列1,列2两列。还可以加COUNT(),YEAR(等函数,具体看 书吧!! 在后面可以接where,group by,order by 等 where 的用法: select * from 表名where 条件表达式 条件表达式就好比列 1 值>0 啊,列 2 值=0&0啊,之类的。这样我们就之看符合条件的。 group by 的用法: select 列名1,count(列名2) as ' 自定义列名' from 表名 group by 列名 1 这句就是把表里所有列名 1 相同的行集合成一行,顺便说下count(列名2) as ' 自定义列名' ,count()是总行数的意思,考试经常要和group by 一起用。如果要求总合用sum()这个函数。as '自定义列名’就是给列付个名字。如果要进一步筛选就在语句的最后加"HAVING 条件表达式"就可以了。 ORDER BY勺用法: select * from 表名[where 条件表达式] ORDER BY列名N 这样就是依照列名N的顺序排列了,最后加上DESC就是降序排列 连表查询 Select需要的列名1,需要的列名 2 ,……需要的列名N from 表1,表2 Where表1.某列=表2.某列and其他要求的条件表达式 以上就是连两个表的Select 语句, 你也可以连 3 或多个表,只要每个表和其他的表有联系就可以了。 如果上面的看不太懂我举个例子: 我们有2张表:B1,B2。B1里有“动画名称”和“时间”两列。B2里有“动画名称” 和“制作公司”两列。其中两个表的动画名称是对应的,现在要你显示出“动画名称”, “时间”和“制作公司” ,做法如下: SELECT B1. 动画名称, 时间, 制作公司from B1,B2 where B1. 动画名称= B2. 动画名称 ps: “SELECT B1. 动画名称, 时间, 制作公司”里面我要求返回3项,第一项因为两个表列名重复所以要前面加“表名. ” 如果上面的题目还要加条件,比如我们只要“制作公司”是“A”公司的,就这样写where 语句: where B1. 动画名称= B2. 动画名称AND 制作公司='A' update (更新)的语句格式: update 表名 set 列名 1 = xxx, 列名 2 = xx, ... 列名N = xx where 列名x =

SQL Server数据库基础教程课后答案

1.SQL的特点是什么? (1)一体化的特点 (2)统一的语法结构,多种使用方式 (3)高度非过程化 (4)语言简洁 (5)客户机/服务器(Client/Server)结构 (6)支持异类复制 (7)Internet数据库功能的集成 2.关系数据库的主要模型有哪些? 关系模型:通过关系,按给定的选择条件,选出符合条件的元组,较灵活 层次模型:要查找一个记录必须从根记录开始,按给定条件沿一个层次路径进行查找网状模型:在查找语句中要说明查找的对象和存取的路径,操作较繁琐 3.简述文件和文件组的概念? 主要数据文件:该文件包含数据库的启动信息,并用于存储数据,扩展名是.mdf 文件组:为了方便数据的分配、放置和管理,SQL Server允许对文件进行分组处理。在同一个组里的文件组成文件组,然后,可以在文件组group上创建表。对表中 数据的查询将被分散到三个磁盘上,查询性能将得到提高 4.日志文件的作用是什么? 事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。事务日志记录每个事务的开始。 这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件,扩展名是.ldf 5.数据库的表的作用是什么? 数据库—表—记录—字段—属性 6.数据库允许有哪些数据类型?它们的范围是多少?并说明含义?

整型数据类型: (1) bigint:占8字节的存储空间,存储数据范围为-263~263-1。 (2) int:占4字节的存储空间,存储数据范围为-231~231-1。 (3) smallint:占2字节的存储空间,存储数据范围为-215~215-1。 (4) tinyint:占1字节的存储空间,存储数据范围为0~255。 Unicode字符数据 使用Unicode数据类型,列可存储由Unicode标准定义的任何字符,包含由不同字符集定义的所有字符 nvarchar 列大小不固定<4000个字符数 nchar 列大小固定<4000个字符数 ntext >4000个字符数

sql server数据库练习题演示教学

数据库练习题 第一章 一、单项选择题 1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是()阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理 2. 数据库系统与文件系统的主要区别是()。 A. 数据库系统复杂,而文件系统简单 B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 3. 在数据库中存储的是()。 A. 数据 B. 数据模型 C. 数据及数据之间的联系 D. 信息 4. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指()。 A. 同一个应用中的多个程序共享一个数据集合 B. 多个用户、同一种语言共享数据 C. 多个用户共享一个数据文件 D. 多种应用、多种语言、多个用户相互覆盖地使用数据集合 5. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 6. 数据库管理系统(DBMS)是()。 A. 一个完整的数据库应用系统 B. 一组硬件 C. 一组系统软件 D. 既有硬件,也有软件 7. 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的()。 A. 文件的集合 B. 数据的集合 C. 命令的集合 D. 程序的集合 8. 支持数据库各种操作的软件系统是()。 A. 命令系统 B. 数据库管理系统 C. 数据库系统 D. 操作系统 9. 由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫()。 A. 文件系统 B. 数据库系统 C. 软件系统 D. 数据库管理系统 10. 数据库系统中应用程序与数据库的接口是()。 A. 数据库集合 B. 数据库管理系统DBMS C. 操作系统OS D. 计算机中的存储介质 11. 在DBS中,DBMS和OS之间关系是()。 A. 并发运行 B. 相互调用 C. OS调用DBMS D. DBMS调用OS 12. 在数据库方式下,信息处理中占据中心位置的是()。

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