SQL复习资料
SQL复习提要

SQL复习提要第一篇:SQL复习提要一、数据库创建1、Create语句:用来创建新的数据库对象;Create database database name2、alter语句:用来修饰已有对象的结构;Alter database database name3、drop语句:用来删除已有的数据库对象;4、insert语句:用来在数据表或视图中插入一行数据;二、表与表数据操作在表sxb中增加1个新列为奖学金等级,然后删除该列 USE psxcj goalter table xsbadd 奖学金等级 tinyint NULL goalter table xsbdrop column 奖学金等级select *from kcb select *from xsb select *from cjb查询全体的学生的详细记录 Select * from Student 查询全体学生的姓名与学号 Select Sname Sno from Student 查询全体学生的姓名及其年龄Select Sname,YEAR(getdate()-year(sbirthday))as ageFrom Student--单表查询查询计算机系全体学生的信息 /*语句块*/select * from xsbwhere 专业='计算机'--查询姓“张”的学生的学号和姓名select 学号,姓名from xsb where 姓名 like '张%'--查询xsb中备注信息为空的学生信息 select * from xsb where 备注 isnull--查询成绩在90分以上的学生信息 select distinct 学号 from cjbwhere 成绩>=90--查询同时选修了课程101和102的学生记录select 学号from cjbwhere 课程号='101' or 课程号='102' group by 学号having count(*)=2select * from cjbselect count(学号)选修人数,课程号 from cjbgroup by 课程号--查询选修了两门以上的课程的学生学号和课程数select 学号,count(课程号)as 选修门数 from cjb group by 学号having count(*)>=2--查询选修课程数大于或等于2的学生学号,平均成绩和选修课门数,并按平均成绩降序排序select 学号,avg(成绩),count(*)as 选修门数 from cjb group by 学号 having count(*)>=2 order by avg(成绩)desc--查询姓“张”的前两个学生的学号和姓名 Top 2--多表查询查询选修了(数据库原理)的计算机系的学生学号和姓名Select 学号,姓名 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and kcb.课程号=cjb.课程号 and 课程名='计算机基础' and 专业='计算机'--查询学生的学号、姓名、选修课程的名称和成绩 select xsb.学号, 姓名,课程名,成绩from xsb,cjb,kcb where xsb.学号=cjb.学号and cjb.课程号=kcb.课程号--查询选修了课程的学生姓名--select *from kcbselect distinct 姓名 from xsb,cjb where xsb.学号=cjb.学号--查询所有学生的信息和所选修的课程--select xsb.*,[kcb.]课程名 from xsb left outer join cjb on xsb.学号=cjb.学号left join kcb on cjb.课程号=kcb.课程号--查询已被选修的课程的情况和所有课程的名字--Select cjb*,课程名 from xsb left join cjbOn xsb.学号=cjb.学号--查找计算机系的学生选修课程数大于2的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列select xsb.姓名,avg(成绩)as平均成绩,count(*)as 选课门数from xsb,cjbwhere xsb.学号=cjb.学号and 专业='计算机'group bycjb.学号,姓名having count(*)>2 order byavg(成绩)desc--嵌套查询和组合查询----1.统计选修了【数据库原理】课程的学生学生select 课程号 from kcb where 课程名='数据库原理'select count(*)fromcjbwhere 课程号 in(select 课程号 from kcb where 课程名='数据库原理')2.查询没有选修【数据库原理】课程的学生信息select * from xsb where 学号 not in(select 学号 from cjb where 课程号 in (select 课程号 from kcb where 课程名='数据库原理'))3.查询其他系中比计算机系学生年龄都小的学生select *from xsbwhere 出生时间'计算机'--4.查询被081101学生或081102学生所选修的课程的课程号(用UNION组合查询与IN条件查询两种方法实现)并集select 课程号 from cjbwhere学号='081101' unionselect 课程号 from cjbwhere学号='081102'--5.查询081101学生和081102学生同时选修的课程的课程号(用INTERSECT组合查询与EXISTS嵌套子查询两种方法实现)(自连接)select 课程号 from cjbcjb1where exists(select * from cjb cjb2where cjb1.课程号=cjb2.课程号 andcjb2.学号='081102')and 学号='081101'select 课程号 from cjb where 学号='081101' intersectselect 课程号from cjbwhere学号='081102'--6.查询被081101学生选修,但没有被081102学生所选修的课程的课程号(用EXCEPT组合查询与NOT EXISTS嵌套子查询两种方法实现)select 课程号 from cjb where 学号='081101' exceptselect 课程号 from cjbwhere学号='081102'create procedure proc_cjcxbasselect xsb.学号,姓名,课程名,成绩 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and cjb.课程号=kcb.课程号--7、查询选修了101课程的学生姓名 select 姓名from xsbwhere EXISTS(select *from cjbwhere xsb.学号=cjb.学号 and 课程号='101')--存储过程--创建查询create procedure proc_cjcx asselect xsb.学号,姓名,课程名,成绩 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and cjb.课程号=kcb.课程号execute proc_cjcx alte修改查询r--输入学好查询学生的学号,姓名,课程名,成绩alter procedure proc_cjcx@xh char(6)='%' asselect xsb.学号,姓名,课程名,成绩 from xsb,kcb,cjbwhere xsb.学号=cjb.学号 and cjb.课程号=kcb.课程号andxsb.学号 like rtrim(@xh)execute proc_cjcx '081101'--存储过程select * from kcbcreate proc proc_kcbinsert@kch char(3),@kcm char(16),@kkxq tinyint,@xs tinyint,@xftinyint asinsert into kcbvalues(@kch,@kcm,@kkxq,@xs,@xf)proc_kcbinsert '405','server程序设计',4,72,4 查找单科最高成绩select xsb.学号,姓名,课程名,成绩from xsb,cjb,kcbwhere xsb.学号=cjb.学号 and kcb.课程号=cjb.课程号and exists(select *from cjb,(select 课程号,max(成绩)as 最高分 from cjb group by课程号)as tempwhere cjb.课程号=temp.课程号and cjb.成绩=temp.最高分)(相关子查询)select xsb.学号,姓名,课程名,成绩from xsb,cjb,kcb(select 课程号,max(成绩)as 最高分from cjb group by课程号)as tempwhere xsb.学号=cjb.学号 and kcb.课程号=cjb.课程号 and cjb.课程号=temp.课程号 and cjb.成绩=temp.最高分触发器Create trig trig_cheakgrods on cjb For updateAs Declare @..........创建视图创建学生平均成绩的视图create view view_选修课平均成绩as(select xsb.学号,姓名,avg(成绩)as平均成绩 from cjb, xsbwhere xsb.学号=cjb.学号group by xsb.学号,姓名)需要查找该表的结果语句如下:select * from view_选修课平均成绩修改选修课平均成绩视图,显示所有学生的学号,姓名,平均成绩alter view view_选修课平均成绩as(select xsb.学号,姓名,avg(成绩)as平均成绩from xsb left join cjbon xsb.学号=cjb.学号group by xsb.学号,姓名)查询学生的姓名,性别,平均成绩select xsb.学号,xsb.姓名,性别,平均成绩from xsb, view_选修课平均成绩where xsb.学号=view_选修课平均成绩.学号更新选修课成绩表视图update view_选修课平均成绩 set平均成绩=80 where 姓名='王林'删除选修课平均成绩视图、drop view view_选修课平均成绩插入insert into xsb(学号,姓名)values('100511','张四')--备份数据库backup database Pxscjto disk='E:1PxscjDiff.bak'with differentialinsert into xsb(学号,姓名)values('100512','李四')--备份数据库日志文件 backup log Pxscjto disk='E:1Pxscjlog.bak'use masterdrop database Pxscjuse Pxscjselect * from xsb--用语句还原数据库 restore database Pxscj from disk='E:1PxscjDiff.bak'--还原第三次备份的数据库 restore database Pxscj fromdisk='c:ProgramFilesMicrosoftServerMSSQL.1MSSQLBackupPxscj.bak' with norecovery select * from xsb--还原第三次备份的日志文件 restore log Pxscjfrom disk='E:1Pxscjlog.bak'--差异备份backup database Pxscjto disk='E:SQL-serverPxscjDiff.bak' with differentialinsert xsb(学号,姓名)values('100512','王五')backup log Pxscjto disk='E:SQL-serverPxscjlog.bak'--删除Pxscj use masterdrop database PxscjSQL第二篇:高等数学复习提要高等数学复习提纲第一章函数与极限复习重点:1、求极限1)四则运算法则注意:四则运算法则适用的函数个数是有限个;四则运算法则的条件是充分条件有理分式函数求极限公式:⎧a0mm-1 xxxam⎪ba+a+Λ+amm-101m-1n+nnn a0x+a1x+Λ+am-1x+am⎪0xxxx=lim=⎨0limnn-1∞bxn+bxn-1+Λ+bx+bx→∞x→bxxxn01n-1n⎪∞b+b+Λ+b+01n-1nn nn ⎪xxxx⎩2)两个重要极限n=mm<nm>nlimsinxsin0=1()x→0x01x101lim(1+x)=lim(1+)x=e ((1+0))x→0x→∞x3)两个准则准则一:若(1)yn≤xn≤zn∀n∈N则{xn}有极限,且limxn=an→∞(2)limyn=limzn=an→∞n→∞准则二:单调有界数列必有极限单调递增有上界的数列其极限为最小的上界(上确界)单调递减有下界的数列其极限为最大的下界(下确界)4)无穷小量a.无穷小量的定义,注意其是变量,谈及无穷小量时一定要注明自变量的变化趋势。
SQL复习资料

(一)SQL概述1.SQL的基本概况1)含义:SQL是structured query languge的缩写,它是关系数据库的标准数据语言,所有的关系数据库管理系统都支持。
2)功能:数据查询、数据操作和数据定义2.特点1)一体化:包括数据定义、查询和操作等方面功能,可以完成数据库活动中的全部工作;2)高度非过程化:只需告诉计算机用户“做什么”,SQL便可自动完成全部工作;3)非常简洁:只有为数不多的几条命令组成;4)它可以直接以命令方式使用,也可以嵌入到程序设计语言中以程序方式使用。
3.主要短语及其含义1)select-说明要查询的数据2)from-说明查询的数据来自哪些表,可对单表或多表进行查询3)where-说明查询条件,即选择元组的条件4)group by-用于对查询进行分组,可用它对数据进行分组汇总5)having-必须跟group by短语一起使用,用来限定分组必须满足的条件6)order by-用来对查询的结果进行排序.简单查询1)适用范围:即单表查询,查询的字段信息和查询条件都来自于同一张表2)语法格式:select 字段名1,…字段名n from 表名 where 条件式3)查询细节:ü distinct 去掉查询结果中的重复值ü若查询某张表的全部字段,则可把select后的字段名全部用通配符*代替即可ü union并运算可把两个select语句的查询结果合并成一个查询结果(要求是两个查询结果要具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围)ü查询去向:into array 数组名——将查询结果存放于数组中into cursor 临时表文件名——将查询结果存放于临时只读文件,关闭时自动删除into dbf/table 自由表文件名——将查询结果存放于永久表中to file 文本文件名——将查询结果存放于文本文件中2.简单的联接查询1)适用范围:查询的字段信息或条件来自于多张表2)语法格式:select 字段名1,…字段名n from 表名1,…表名n where 联接条件and 其他条件3.嵌套查询1)适用范围:查询的字段信息出自于同一张表,而查询条件出自于其他表2)语法格式:select 字段名1,…字段名n from 表名1 where 外部关键字 in (select 外部关键字 from 表名2 where 条件)3)查询细节:ü几个特殊的运算符:between…and…用于查询满足某个值域范围内的记录;like用于查询与指定字段值相匹配的记录(like后所指定的字段值一定是个字符型数据;通配符%表示0个或多个字符,“_”只表示一个字符)ü排序:order by 字段名1 asce/desc,…字段名n asce/desc注意:系统默认升序,asce可省略,允许按一个或多个字段对查询结果排序ü简单计算查询:count()-计数 sum()-求和,所指字段是N型 avg()-求平均数,所指字段是N型 max()-求最大值,所指字段是N型min()-求最小值,所指字段是N型ü分组与计算查询:group by 字段名1,…字段名n having 条件表达式(注意:having 必须和group by一起使用,因为它是对分组后的结果进一步进行筛选,having条件和where 条件不矛盾,在select语句查询中是先用where子句限定元组,然后进行分组,最后再用having子句限定分组结果)ü利用空值查询:is null/is not nullü内外层互相嵌套查询:内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果ü使用量词和谓词的查询:表达式运算符 any/some/all(select子查询)——其中any和some表任意一个,all 表示全部[not] exists(select子查询)——exists表示存在ü虚字段:即原表中并无此字段,是通过函数或者表达式计算所得出的字段名;其格式为:表达式/函数 as 虚字段名ü显示部分结果:top 表达式[percent] order by 字段名1,…字段名n注意:不使用percent时,在1-32767之间取值,说明显示前几条记录使用percent时,则在0.01-99.99之间取值,说明显示前百分之几的记录并且top短语要与order by短语同时使用才有效4.内联接查询:超级联接查询的一种1)适用范围:查询的字段名或查询条件来自于多张表2)语法格式:select 字段名1,…字段名n from 表名1 inner join 表名2 on 联接条件 where 条件(三)SQL的操作功能1.插入功能1)标准格式:insert into 表名(字段名1,…字段名n)values(字段值1,…字段值n)注意:此命令格式表示向表中插入记录,当插入的不是完整的记录时必须指明字段2)特殊格式:insert into 表名 from array 数组名注意:此命令格式表示从指定的数组向表中插入记录2.更新功能1)格式:update 表名 set 字段名1=表达式1,…字段名n=表达式n where 条件式注意:使用where表示更新满足条件的记录,不使用where则更新全部记录2)注意update命令与replace命令的区别:² update可对一表和多表操作,replace只能对当前一表操作² update用where接条件表达式,replace用for接条件表达式² update用=接表达式,replace用with接表达式² update用set接字段名,replace的字段名前不加set² update不用where子句就可更新全部记录,replace有all无for条件才是更新全部记录3.删除功能1)格式:delete from 表名 where 条件注意:此命令表示逻辑删除表中相应的记录,有where条件时表示逻辑删除表中满足条件的记录2)本格式可用于一表与多表,而delete for条件则只可用于当前表(四)SQL的定义功能1.表的定义,即建立表1)格式:create table 表名(字段名1 字段类型(宽度),…字段名n 字段类型(宽度))2)注意:2.表的删除1)格式:drop table 表文件名2)注意:3.表结构的修改1)添加/删除表中字段:alter table 表名 add/drop column 字段名字段类型(宽度)注意:只能一次添加一个字段,并且如果是删除字段则不需要写宽度2)修改字段类型及宽度:alter table 表名 alter 字段名新类型(新宽度)3)更新字段名:alter table 表名 rename column 原字段名 to 新字段名4)修改字段有效性:alter table 表名 alter column 字段名[null/not null][set default 表达式][set check 逻辑表达式[error 字符表达式]]alter table 表名 alter column 字段名[drop default][drop check]5)添加/删除表中表中索引:alter table 表名 add primary key/unique字段名 tag 索引名注意:primary key是主索引;unique是候选索引。
SQL复习资料

题型:填空(10’),单选(10’),判断(10’),简答题(30’),程序设计(40’):表中数据操作(30’)5-6章程序修改(10’)视图1.数据库系统(DBS)包括数据库(DB/database),数据库管理系统(DBMS),数据库管理员(BDA)。
2.数据库是长期存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。
3.数据模型分为层次模型,网状模型,关系模型。
4.实体联系模型主要要素:实体(矩形框表示),联系(菱形框表示),属性(椭圆形表示)。
5.联系的类型:“一对一(1:1)”,“一对多(1:n)”,“多对多(n:n)”。
6.关系范式:第一范式(基本),第二范式,第三范式(必须满足),BC范式,第四范式,第五范式。
7.SQL是标准的关系数据库操作语言。
8.SQL语言包括数据查询语言(Data Retrieval)、数据操作语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)和事务控制语言(Transaction Control)。
9.系统数据库:master 、model 、msdb 、tempdb 。
10.数据文件包括:①主数据文件(.mdf , 数据库中只能含有一个);②次数据文件(.ndf ,可以有0~n个)。
11.SQL Server 遵循先写日志(.ldf)后操作。
12.视图被定义后便存储在数据中,通过视图看到的数据只是存放在基表中的数据。
党对通过视图看到的数据修改时,相应的基表的数据已发生变化。
当对基表的数据发生变化时,变化也尝自动反映在视图中。
13.视图的优点:①集中用户使用的数据;②屏蔽数据库的复杂性。
14.索引的类型:①聚集索引;②非聚集索引。
15.数据完整性分为4种类型:实体完整性、域完整性、引用完整性和用户自定义完整性。
16.主键约束(PRIMARY KEY)是在表中定义一个主键来唯一确定表中的每一行记录。
主键可以定义在单列上,也可以在多列上。
(完整版)SQL复习题(附部分答案)

一、单选题1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___)A.只存在一对多的实体关系,以图形方式来表示。
B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C.能体现一对多、多对多的关系,但不能体现一对一的关系。
D.关系模型数据库是数据库发展的最初阶段。
答案[B]2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时答案[B]3、关系数据库中,主键是(___),当运用Transact-SQL语句创建主键时,可以是(__)。
⑴ A、为标识表中唯一的实体 B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的⑵ A、create table table1(column1 char(13) not null primary key,column2 int not on primary key;B、alter table table1 with nocheck addconstraint [PK_table1] primary key nonclustered ( column1) on primary;C、alter table table1 column1 primary key ;答案[ A C]4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来建立视图时,不允许在该语句中包括(___)等关键字。
A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY答案[B ]5、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字(_2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(_3__),如果在SELECT语句中使用聚合函数时,可以在后面使用(_4_)。
SQL复习重点

关系型数据库及SQL语言复习重点第一章:数据库基础知识1.计算机化数据库的优点2.数据库模型三种:a)层次模型: 一个父代可以有多个子代,一个子代只能有一个父代b)网状模型: 数据存储在集合结构中,一个父代可以有多个子代,一个子代也可有多个父代c)关系模型: 以表的形式存储数据,实体互相独立,但之间又有关系3.关系型数据库:IBM的科学家Codd发明关系型数据库,被称为关系型数据库之父4.DBMS = 数据库+访问数据库的程序5.RDBMS:关系型数据库管理系统6.三大数据完整性:a)实体完整性:用主键来实现, 保证数据的唯一性、非空b)引用完整性:用外键来实现,保证数据的一致性c)域的完整性:通过数据类型、数据取值范围、数据格式来实现,保证数据的有效性7.表:存贮数据的容器,由二维行(记录)、列(字段、属性)组成8.SQL(Structural Query Language)语言的分类:遵循ANSI/ISO SQL-92 的国际标准a)DDL(Data Definition Language) 数据定义语言: Create, Alter, Drop, AddConstraintb)DML(Data Manipulation Language) 数据操作语言: Insert, Update, Delete,Truncatec)DQL(Data Query Language) 数据查询语言: Select from, Where, Group by, Orderby, Compute By, Having, inner join, outer join, union, like, in between, any, all, exists, etc.d)DCL(Data Control Language) 数据控制语言: 用于管理对数据库和数据库对象的权限,如Grant, Revokee)CCL(Common Command Language) 通用命令语言: 用来在数据库中进行高效率的搜索第二章:使用Access1.Access是一个小型单机版的关系型数据库管理系统2.1个Access数据库只有一个文件,后缀mdb3.Access数据库有七个对象:表、查询、窗体、报表、页、宏、模块4.Access提供的数据类型,其中文本型数据类型默认的字段长度为505.在Access里实现:a)实体完整性:主键b)引用完整性:外键,建立关系(实施参照完整性)c)域完整性:数据类型、输入掩码、默认值、有效性规则6.导入、导出数据:可以从其他Access数据库、Excel、DBbase、Outlook、Html、Lotus、文本(Txt)、ODBC等导入、导出数据7.设置数据库密码8.压缩和修复数据库第三章:SQL Server数据库的管理1.SQL Server 2000的特征2.SQL Server 2000的安装及软硬件要求3.4.5.数据库类型:系统数据库和用户数据库系统数据库:master,model,msdb,tempdb∙master:它记录所有的登录帐户和系统配置设置。
SQL复习资料

一、填空题(每空1分,共10分)Select 的各子句的作用使用select语句检索行和列将 SELECT 与列标题和列计算一起使用将 DISTINCT 与 SELECT 一起使用(避免检索重复标题)使用 SELECT INTO 创建表使用相关子查询Create table语句中各类约束条件的实现关键字Primary key约束 foreign key约束 check约束 default约束 unique约束在DML触发器中,DML命令操作的数据保存在哪里deleted 和inserted 逻辑(概念)表怎么判断查询结果是否为空。
怎么判断某值X是否为空怎么实现表连接存储过程形参的定义形式数据完整性有几种实体完整性域完整性引用完整性用户自定义完整性怎么实现级联修改CASCADE关键字触发器可通过数据库中的相关表实现级联更改在函数定义中怎么定义返回值。
二、名词解释(每小题2分,3小题,共6分)数据库——最高级别的存储机制外键——外键(FK) 是用于建立和加强两个表数据之间的链接的一列或多列。
死锁——在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。
事务——事务是作为单个逻辑工作单元执行的一系列操作主键——表通常具有包含唯一标识表中每一行的值的一列或一组列。
这样的一列或多列称为表的主键(PK),用于强制表的实体完整性实体完整性——实体完整性将行定义为表的唯一实体三、简答题(每小题5分,3小题,共15分)索引的设计原则1了解数据库本身的特征。
2了解最常用的查询的特征3了解查询中使用的列的特征4确定哪些索引选项可在创建或维护索引时提高性能5确定索引的最佳存储位置事务的属性原子性一致性隔离持久性简述各类数据完整性及其对应的约束实现实体完整性将行定义为特定表的唯一实体域完整性指特定列的项的有效性输入或删除行时,引用完整性保留表之间定义的关系用户定义完整性使您可以定义不属于其他任何完整性类别的特定业务规则对应的约束实现是:1实体完整性约束2域完整性约束3参照完整性约束4用户自定义完整性约束索引的作用与书中的索引一样,数据库中的索引使您可以快速找到表或索引视图中的特定信息。
sql数据库题库
## 第一章:SQL基础### 1.1 SQL简介1. 什么是SQL?2. SQL的主要功能有哪些?3. SQL的语法结构是怎样的?### 1.2 数据库概念1. 什么是数据库?2. 数据库有哪些基本类型?3. 数据库系统由哪些部分组成?### 1.3 数据定义语言(DDL)1. 什么是DDL?2. DDL有哪些主要命令?- CREATE:创建数据库、表、视图等。
- ALTER:修改数据库、表、视图等。
- DROP:删除数据库、表、视图等。
### 1.4 数据操纵语言(DML)1. 什么是DML?2. DML有哪些主要命令?- INSERT:插入数据。
- SELECT:查询数据。
- UPDATE:更新数据。
- DELETE:删除数据。
### 1.5 数据控制语言(DCL)1. 什么是DCL?2. DCL有哪些主要命令?- GRANT:授权。
- REVOKE:撤销授权。
## 第二章:SQL查询### 2.1 SELECT语句1. SELECT语句的基本语法结构是怎样的?2. 如何使用SELECT语句查询数据?3. 如何使用WHERE子句进行条件查询?4. 如何使用AND、OR、NOT等逻辑运算符?5. 如何使用ORDER BY对结果进行排序?6. 如何使用GROUP BY进行分组查询?7. 如何使用HAVING子句进行分组筛选?### 2.2 联合查询1. 什么是联合查询?2. 如何使用UNION操作符进行联合查询?3. 如何使用UNION ALL操作符进行联合查询?4. 联合查询中需要注意哪些问题?### 2.3 子查询1. 什么是子查询?2. 子查询有哪些类型?- 单列子查询。
- 多列子查询。
- 行子查询。
- 列子查询。
3. 子查询在SELECT、FROM、WHERE等子句中的使用。
### 2.4 连接查询1. 什么是连接查询?2. 连接查询有哪些类型?- 内连接(INNER JOIN)。
SQL知识点复习
1、数据库系统的核心是数据库管理系统2、数据库系统的特点:数据结构化,由DBMS统一管理和控制,独立性高3、概念模型是现实世界的第一层抽象,最著名的是E-R模型4、数据的物理独立性用户的应用程序与存储在磁盘上数据库的数据时相互独立的5、要保证数据库的逻辑数据独立性需要改变的是模式与外模式直接的映像。
模式与内模式直接的映像能修改物理数据独立性6、关系数据模型的基本数据结构式关系7、R∩S等价于S-(R-S)8、GRANT UPDATE (QTY) ON S PJ TO 李勇不需要加双引号9、关系规范化的插入操作异常是指应该插入的数据未被插入10、关系数据库设计中,设计关系模式是在数据库设计中的逻辑阶段的任务11、在E-R模型中,如果有3个不同的实体型,3个m:n联系,根据E-R模型转换为关系模型的规则,转换后关系的数目为( C 6 )。
12、事物的隔离性:一个事物的内部操作及其使用的数据对并发的其他事物是隔离的13、数据库恢复中,转储的冗余数据是指日志文件和数据库后背副本14、关系数据模型由关系数据结构关系操作和关系完整性约束三部分组成15、一般情况下,关系R和S使用自然连接时,要求R和S有一个或多个共有属性16、关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则侯选码是 A和(B,C) ,R∈ AB NF。
17、E-R图的冲突主要有属性冲突命名冲突和结构冲突18、事务是数据库管理系统的基本单位是用户定义数据库操作序列19、可串行性是并发事物正确性的准则。
我的理解是事物按不同的次序并发执行后的结果相同20、试述视图的作用?(1)视图能够简化用户的操作。
(1分)(2)视图使用户能以多种角度看待同一数据。
(1分)(3)视图对重构数据库提供了一定程度的逻辑独立性。
(1分)(4)视图能够对机密数据提供安全保护。
(1分)二:1、数据的逻辑独立性是指模式改变外模式和应用程序不变2、数据库的三级模式结构中,描述全体数据的全局逻辑结构和特征的是模式3、关系数据模型的缺点有存取路径相对用户透明需查询优化4、自然连接要求有共有的属性5、SQL语言有数据定义DDL 数据操纵DLL 数据控制的功能从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是(M端实体关键字与N端实体关键字组合)。
SQL 学习复习提纲
SQL 学习复习提纲一、数据的基本操作:⏹查询:(Select)Distinct: 唯一行查询关键字Top: 返回指定行关键字top 5 * ;返回10-15行:select top 5 * from ( select top 15 * from Table order by desc)As : 重新定义列名oldcol ( 计算表达式) as newcol 或用等号newcol=计算表达式( /oldcol )into : 将结果集放到一个新表中。
Select col…into newtable from rs where…From: 查询源数据集(可以是表,视图,查询, 规则EXCEL表)Where: 数据查询筛选条件表达式,优先级高于Having。
(1)简单逻辑比较: =,<>,>,<, in, not in(2)模糊查找:Like(3)多条件筛选:not, and, or(4)区间值筛选:col ( not ) Between… and…区间内,区间外(5)关联筛选:rs1 a inner join rs2 b on a.col=b.col where b.colGroup by: 分组关键字一般配sum,avg,max,min,count等分组计算函数Having: 分组后再进行筛选的条件表达式select userID,count(userid) from aa group by userID having count(userid)>1Order by : 排序关键字Desc 降序,默认为升序。
随机筛选3行select top 3 * from Tab1 order by NewID() Union(all) :对二个或多个查询结果集合为一个记录集,以第一个Select的列及列序。
加All 二个记录集完整合并,不加all第二个记录集与第一记录集相同的行被屏去,第一个记录集不去除重复行。
数据库sql复习题
数据库sql复习题数据库SQL复习题1. SQL基础- 解释SQL(Structured Query Language)的含义。
- 列举SQL的基本操作,包括SELECT, INSERT, UPDATE, DELETE。
2. 数据定义语言(DDL)- 描述CREATE, ALTER, DROP语句的基本用法。
- 举例说明如何使用CREATE TABLE创建一个新表。
3. 数据操纵语言(DML)- 阐述SELECT语句的组成,包括WHERE子句,GROUP BY子句,ORDER BY子句。
- 举例说明如何使用INSERT INTO向表中添加数据。
- 描述UPDATE语句和DELETE语句的用法及其区别。
4. 数据控制语言(DCL)- 解释GRANT和REVOKE语句的作用。
5. 数据查询- 说明如何使用JOIN语句进行表的连接查询。
- 举例说明内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)的区别。
6. 聚合函数- 列举并解释SQL中的聚合函数,如COUNT, AVG, SUM, MIN, MAX。
7. 子查询- 解释子查询的概念及其在SQL中的使用场景。
8. 事务处理- 描述事务的四个基本属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
- 说明如何使用BEGIN TRANSACTION, COMMIT, ROLLBACK进行事务控制。
9. 索引- 解释索引的概念及其在数据库中的作用。
- 描述创建索引(CREATE INDEX)和删除索引(DROP INDEX)的语法。
10. 视图- 说明视图的概念及其优点。
- 举例说明如何创建视图(CREATE VIEW)和使用视图查询数据。
11. 存储过程和触发器- 解释存储过程(Stored Procedures)和触发器(Triggers)的概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题型:填空(10’),单选(10’),判断(10’),简答题(30’),程序设计(40’):表中数据操作(30’)5-6章程序修改(10’)视图1.数据库系统(DBS)包括数据库(DB/database),数据库管理系统(DBMS),数据库管理员(BDA)。
2.数据库是长期存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。
3.数据模型分为层次模型,网状模型,关系模型。
4.实体联系模型主要要素:实体(矩形框表示),联系(菱形框表示),属性(椭圆形表示)。
5.联系的类型:“一对一(1:1)”,“一对多(1:n)”,“多对多(n:n)”。
6.关系范式:第一范式(基本),第二范式,第三范式(必须满足),BC范式,第四范式,第五范式。
7.SQL是标准的关系数据库操作语言。
8.SQL语言包括数据查询语言(Data Retrieval)、数据操作语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)和事务控制语言(Transaction Control)。
9.系统数据库:master 、model 、msdb 、tempdb 。
10.数据文件包括:①主数据文件(.mdf , 数据库中只能含有一个);②次数据文件(.ndf ,可以有0~n个)。
11.SQL Server 遵循先写日志(.ldf)后操作。
12.视图被定义后便存储在数据中,通过视图看到的数据只是存放在基表中的数据。
党对通过视图看到的数据修改时,相应的基表的数据已发生变化。
当对基表的数据发生变化时,变化也尝自动反映在视图中。
13.视图的优点:①集中用户使用的数据;②屏蔽数据库的复杂性。
14.索引的类型:①聚集索引;②非聚集索引。
15.数据完整性分为4种类型:实体完整性、域完整性、引用完整性和用户自定义完整性。
16.主键约束(PRIMARY KEY)是在表中定义一个主键来唯一确定表中的每一行记录。
主键可以定义在单列上,也可以在多列上。
主键约束强制实施实体完整性约束。
17.主键约束具有的特点:①每个表中最多只能定义一个主键约束。
②主键约束所在列不允许输入重复值。
如果主键约束由两个或两个以上的列组成,则该组合的取值不允许重复。
③主键约束所在列不允许取空值。
④主键约束在指定的列上创建了一个唯一性索引,该索引可以是聚集索引,也可以是非聚集索引。
默认情况下是聚集索引18.主键约束和唯一性约束的相同点:①关键字值不允许重复;②通过唯一性索引来保证实体完整性。
19.主键约束和唯一性约束的不同点:①关键列是否允许取空值,主键(×),唯一(√);②一表只允许建一个主键约束,而唯一性约束可以多个。
20.备份:数据库管理员定期地将整个数据库复制到磁盘或磁带上并保存起来的过程。
21.备份的类型:完整数据库备份、差异数据库备份、事务日志备份、文件和文件组备份。
22.还原(恢复):将数据库备份进行装载,并应用事务日志重建数据库的一种操作。
23.备份是恢复的基础,恢复是备份的目的。
24.一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过当某件事发生时自动被触发执行的。
25.触发器是一种特殊类型的存储过程。
26.触发器可以用于SQL Server 约束。
默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。
填空题:(1)实体之间的联系类型有一对一、一对多、多对多联系。
(2)在关系模型中,关系的一个属性对应表中的一个列,也称为一个字段。
(3)在SQL Server中使用的SQL语言叫做Transact-SQL。
(4)在SQL Server 2005系统中,系统数据库master用来保护系统级信息。
(5)SQL Server 2005系统管理两种类型文件,分别是数据文件和日志文件。
(6)如果数据库的名字是MyDB,那么默认情况下主数据文件和日志文件的逻辑文件名分别是MyDB和MyDB_log。
(7)在SELECT语句的6个基本子句中,最先被执行的是FROM子句,最后被执行的是ORDER BY子句。
(8)将条件表达式x BETWEEN 20 AND 40改写为逻辑表示式的形式应该是x>=20 AND x<=40。
(9)在对数据行分组以后,可以使用子句HA VING对组进行筛选。
(10)假设表A中包含6行3列数据,表B中10行5列数据,那么表A和B做笛卡儿积连接后产生的结果中包含60行数据。
(11)如果要防止用户通过视图有意无意地对不属于视图范围内的基本表数据进行操作,则在视图定义时要加上WITH CHECK OPTION选项。
(12)如果要防止用户删除定义视图时该视图所引用的基本表、其他视图或函数等数据库对象,则应用使用WITHSCHEMABINDING选项。
(13)定义视图时,如果希望加密定义视图的文本,则应该使用WITH ENCRYPTIO选项。
(14)删除视图的命令是DROP VIEW。
(15)按约束的应用范围不同,约束可分为列级约束和表级约束。
(16)主键约束可以实现实体完整性。
(17)按激活事件类型的不同,可以把SQL Server 2005系统提供的触发器分为两大类,即:DML触发器、DDL触发器选择题:1. 在关系模型中,与元组相对应的概念是哪一个。
A. 记录B.域C.关键字D.列2. 在关系模型中,能够起到联系多个表的作用的是哪一项。
A. 属性B.行C.主关键字D. 外关键字3. 对关系数据库中的关系的最低要求是满足哪个范式。
A. 1NFB.2NFC.3NFD.没有要求4. SQL Server 2005中的货币数据类型money默认保留的小数位数是几位。
A. 2B. 4C.6D. 85. 如果将某个列定义成标识列,这列的数据类型不能是以下哪一种。
A. intB.tinyintC.decimalD. float6. 创建表的时候,如果没有指定文件组中,则表自动保存在哪个文件组中。
A. 主文件组B用户自定义的文件组 C. 默认文件组 D.由系统随机指定7. 下列哪种数据类型既可以存储高达2G字节的文本数据,而且还能够使用标准的函数和运算符操纵它。
A. text Bvarbinary(max) C. varchar(max) D.varchar8. 下面哪个语句是用来创建视图的语句。
A. CREATE VIEWB.CREATE TABLEC.ALTER VIEWD.ALTER TABLE9. 下列说法中正确的是哪一项。
A. 使用视图可以简化用户的数据库操作。
B. 删除视图将同时删除视图中的数据。
C. 删除视图时同时删除了基本表。
D. 视图和表一样是由数据构成的。
10.下列说法中正确的是哪一项。
A. 只能通过试图查询数据,不能通过视图修改数据。
B. 可以创建基于多个基本表的视图。
C. 如果要修改一个视图的定义,则必须先删除视图然后再重建一个同名视图。
D. 由于视图具有很多明显的优势,所以数据库管理员可以创建尽可能多的视图。
11. 下列描述正确的是哪一个。
A. 一个表中最多只能有一个主键约束,一个外键约束B. 一个表中最多只能有一个主键约束,多个外键约束C. 一个表中最多只能有多个主键约束,多个外键约束D. 一个表中最多只能有多个主键约束,一个外键约束12. 下列描述不正确的是哪一个。
A. 一个表允许在多个列的组合上创建一个主键约束B. 定义主键约束的列不允许空值C. 主键能够唯一地标识表中的每一个记录D. 一个表只允许在一个列上创建主键约束13. 下列不能实现域完整性的是哪一个。
A. 唯一性约束B. 检查约束C. 规则对象D. 默认值约束14. 下列哪个语句是在表T1的C1列上定义了一个主键约束PK_T1_C1。
A. CREATE PRIMARY KEY T1 (C1)B. CREATE CONSTRAINT PK_T1_C1 PRIMARY T1 (C1)C. ALTER TABLE T1 ADD CONSTRAINT PK_T1_C1 PRIMARY KEY (C1)D. ALTER TABLE T1 ADD PRIMARY KEY (C1)判断题:(1) 在关系数据库中,并不是规范化程度越高的关系模式就越好。
√(2) 目前的数据管理领域中,已经完全使用数据库系统,不需要使用文件系统。
×(3) 在实体联系模型中,可以使用椭圆形表示实体的属性。
√(4) 系统数据库tempdb中存储的是临时信息,当数据库连接断开以后,这些临时信息将丢失。
√(5) 一个SQL Server 2005数据库中至少包含一个主数据文件、一个次数据文件和一个日志文件。
×(6) 在同一时刻只能有一个文件组是默认文件组。
√(7) 将主文件组配置成默认文件组是最优配置,这样数据库对象就可以自动保存在主文件组中。
×(8) 如果使用DISTINCT,那么SELECT子句中只能包含一个列表达式。
×(9) 在指定排序所依据的列时,该列可以是没有出现在SELECT子句中的列。
√(10) 如果按照多个列排序查询结果,那么应该在SELECT语句中写多个ORDER BY子句。
×(11) 在Transact-SQL中,子查询只能放在WHERE子句中。
×(12) 对一个已经存在的表,不能够再增加约束了。
×(13) 一个表中最多只能有一个唯一性约束。
×(14) 唯一性约束和主键约束的区别在于,定义唯一性约束的列允许空值,但定义主键约束的列不允许空值。
√(15) 一个列只能应用一个规则,但可以应用多个检查约束。
√(16) 如果针对一个激活事件定义了多个触发器,可以为这些触发器指定执行先后顺序×(17) inserted和deleted表中的数据只能读,不能写入√(18) 可以以CLR的方式编写SQL Server 2005的触发器。
√(19) 可以定义AFTER和INSTEAD OF类型的DDL触发器。
×。