SQL复习题答案
- 格式:doc
- 大小:65.50 KB
- 文档页数:9
(完整版)sql语句练习题及答案⼀在数据库 school 中建⽴student , sc, course 表。
学⽣表、课程表、选课表属于数据库School ,其各⾃的数据结构如下:学⽣Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学⽣选课SC(Sno,Cno,Grade)⼆设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使⽤ Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男⽣delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学⽣的系科为: JSJ2 把陈⼩明的年龄加1岁,性别改为⼥。
2 修改李⽂庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句⼀单表1查询年龄在19⾄21岁之间的⼥⽣的学号,姓名,年龄,按年龄从⼤到⼩排列。
2查询姓名中第2个字为“明”字的学⽣学号、性别。
3查询 1001课程没有成绩的学⽣学号、课程号4查询JSJ 、SX、WL 系的年龄⼤于25岁的学⽣学号,姓名,结果按系排列5按10分制查询学⽣的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。
90-100为10)6查询 student 表中的学⽣共分布在那⼏个系中。
SQL专项练习题SQL专项练习题一、选择题:1、SQL语言的核心是_____。
A)数据查询B)数据定义C)数据操纵D)数据控制2、下列关于SQL语言特点的叙述错误的是_________。
A)SQL是一种一体化的语言B)SQL是一种高度过程化的语言C)SQL语言非常简洁D)SQL语言可以直接以命令方式交互使用,也可嵌入到程序中使用3、在SQL查询中,HAVING子句的作用是______。
A)指出分组查询的范围B)指出分组查询的值C)指出分组查询的条件人D)指出分组查询的字段4、在SQL中,与集合成员算术比较操作“元组<>ALL”的等价操作符是______。
A)NOT IN B)IN C)<>SOME D)=SOME5、下列利用空值查询的命令中,正确的一项是______。
A)IS NULL B)=NULL C)NULL D)SELECT NULL6、可以将两个SELECT语句的查询结果通过并运算合并成一个查询结果,需要子句_____。
A)WHERE B)UNION C)ORDER BY D)IN7、SQL的查询结果可以存放到多种类型的文件中,下列不能用来存放查询结果的是_________。
A)临时表B)永久性表C)视图D)文本文件8、下列不属于SQL数据操作功能的是_______。
A)新建表B)添加记录C)修改记录D)删除记录9、下列关于INSERT-SQL的叙述正确的是______。
A)在表末尾增加一条记录B)在表头增加一条记录C)在表中任意位置插入一条记录D)在表中可插入若干条记录10、若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是_____。
A)SELECT COUNT(DISTINCT 学生号)FROM 选课B)SELECT COUNT(学生号)FROM 选课C)SELECT COUNT(*)FROM 选课D)SELECT COUNT (DISTINCT *)FROM 选课11、“学生表”的结构为(学生号N(4),姓名C(8),性别C(2),年龄N(2)),其中学号为主索引,下面可使用SQL_INSERT插入到表中的记录是_______。
标准SQL语言一、选择题1、下面关于SQL标准的叙述中,不正确的是(B )。
A.SQL语言是集数据定义、数据操纵、数据控制功能为一体的语言。
B.SQL语言是一种高度过程化的语言。
C.SQL标准规定数据库是按三级模式结构构建。
D.SQL语言是关系型数据库的标准语言。
E.SQL语言是面向集合的语言。
2、SQL语言中,修改基本表结构的语句是( B )。
A.UPDATE B.ALTER C.DROP D.CREATE3、SQL语言中,删除基本表结构的语句是( C )。
A.DELETE B.ALTER C.DROP D.CREATE4、下面关于“视图”的叙述中,不正确的是( C )。
A.视图是一种“虚表”,它的数据被存放在基本表中。
B.视图提供了逻辑数据独立性。
C.不能通过视图来更新数据库中的数据。
D.视图能提供对数据的安全保护。
5、下面关于SELECT语句的叙述中,不正确的是(C)。
A.SELECT产生的结果是一个集合。
B.HA VING子句必须与GROUP BY子句一起使用。
C.可以省略FROM子句。
D.可以省略WHERE子句。
二、填空题1、在使用INSERT语句向一个表中插入元组时,“值列表”中值的个数、(顺序)、类型必须与“列名表”保持一致。
2、在向一个表中插入元组时,对于未指定默认值且(不能取空值)的字段必须赋值。
3、向表中插入元组时,主键的值不能取(NULL )值。
4、在使用DELETE语句时,如果不指定(where 条件)就会将整个表的数据删除。
5、视图是从一个或几个基本表或(视图)导出的表,它与基本表不同,是一个虚表。
三、判断题1、SQL语言是面向集合操作的语言。
√2、可以通过视图来查询数据,但不能通过视图来更新数据库中的数据。
×3、在SQL Server数据库系统中,向表中插入元组时,系统自动为具有标识属性的列赋值。
√4、在SQL Server数据库系统中,向表中插入元组时,对取值类型为timestamp(时间戳)的列不能赋值,系统自动赋值。
SQL语言习题一、单项选择题1.SQL语言是的语言,易学习。
A.过程化B.非过程化C.格式化D.导航式答案:B2.SQL语言是语言。
A.层次数据库B.网络数据库C.关系数据库D.非数据库答案:C3.SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵答案:B4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
其中最重要的,也是使用最频繁的语句是。
A.SELECT B.INSERT C.UPDA TE D.DELETE答案:A5.SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL答案:C6.SQL语言中,实现数据检索的语句是。
A.SELECT B.INSERTC.UPDATE D.DELETE答案:A7.下列SQL语句中,修改表结构的是。
A.ALTER B.CREATEC.UPDATE D.INSERT答案:A第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
8.检索所有比“王华”年龄大的学生姓名、年龄和性别。
正确的SELECT语句是。
A.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGE FROM SWHERE SN=’王华’)B.SELECT SN,AGE,SEX FROM SWHERE SN=’王华’C.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGEWHERE SN=’王华’)D.SELECT SN,AGE,SEX FROM SWHERE AGE>王华.AGE答案:A9.检索选修课程“C2”的学生中成绩最高的学生的学号。
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语句中使⽤聚合函数时,可以在后⾯使⽤⑴ A、SELECT,INTO B、SELECT,FROMC、SELECT,GROUPD、仅SELECT⑵ A、DISTINCT B、UNION C、ALL D、TOP⑶ A、JOIN B、UNION C、INTO D、LIKE⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 答案[B A B A ]6、SQL Server 2008是⼀个()的数据库系统。
一、单选题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 Server复习题一、选择题1、数据库系统的主要特征是()A、数据的冗余度小B、数据的结构化C、数据独立性高D、数据可以共享2、下面不属于关系数据库管理系统的是( B )A、OracleB、IMSC、SQL ServerD、DB23、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS4、(C)是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。
A、操作系统B、关系模型C、数据库管理系统D、数据库5、下列四项说法中不正确的是(C ) 。
A、数据库减少了数据冗余B、数据库中的数据可以共享C、数据库避免了一切数据的重复D、数据库具有较高的数据独立性6、下列特点中哪个不是数据库系统阶段的特点( B)。
A.数据共享B.数据冗余大C.完善的数据控制D.数据和程序相互独立7、数据库设计中概念模型设计阶段的主要描述工具是(C)。
A. 数据字典B. 流程图C. E-R图D.二维表格8、关系模型的基本数据结构是(B)A、树B、二维表C、图D、二叉树9、将E-R模型转换成关系模型的过程,属于数据库设计的( C)阶段。
A、需求分析B、概念设计C、逻辑设计D、物理设计10、在E-R模型中,实体间的联系用(C)表示A、矩形B、直线C、菱形D、椭圆11、为了防止多个用户对数据库的同一数据进行非法存取操作,DBMS必须提供(A).A、安全性保护B、完整性保护C、故障恢复D、并发控制12、按照数据模型分类,数据库管理系统可分为(C)。
A.关系型,概念型,网状B.模式,概念模式,外模式C.关系型,层次型,网状模型D.SQL Server,oracle,DB213、SQL Server安装程序创建4个系统数据库,下列哪个不是系统数据库(C)。
A. masterB. modelC. AdventureWorksD. msdb14、SQL server数据库文件有三类,其中主数据文件的后缀为(D)A、NDFB、LDFC、MDFD、IDF15、SQL server 数据库文件有3类,其中日志文件的后缀为(D)。
使用T-SQL语句完成下列题目,保存所有SQL语句为一个脚本文件,文件名为学号姓名.sql,SQL语句前加上题号。
(共60分)一、创建数据库创建一个数据库,数据库名为student,主数据文件的逻辑名为student_data,物理名称为student_data.mdf,存放在D盘根目录下,初始大小为10MB,最大可增长到50MB,增长方式是按5%比例增长;日志文件的逻辑名称为student_log,物理名称为student_log.ldf,存放在D盘根目录下,初始大小为2MB,最大可增长到5MB,按1MB 增长。
create database studenton primary(name=student_data,filename='D:\student_data.mdf',size=10MB,maxsize=50MB,filegrowth=5%)log on(name=student_log,filename='D:\student_log.ldf',size=2MB,maxsize=5MB,filegrowth=1MB)二、创建表create table 学生(学号char(8) primary key,姓名char(20) not null,性别char(2) not null check(性别in('男','女')),出生日期datetime null)use studentcreate table 成绩(学号char(8),课程名varchar(30),成绩real null check(成绩between 0 and 100)primary key(学号,课程名),foreign key (学号) references 学生(学号))3、在gxc数据库中创建商品表,表名:sp。
结构如下:use gxcCreate table sp(bh char(20) primary key,mc varchar(50) not null,xkc real,sj money)4、在gxc数据库中创建供应表,表名:gy。
SQL复习题⽬选择题⽬1、DBMS是⼀个简称,它的全称是(B )。
A、数据运输系统B、数据库管理系统C、数据库管理服务D、数据库运输服务2、SQL Server 2005 采⽤的⾝份验证模式有(D )。
A、仅Windows⾝份验证模式B、仅SQL Server⾝份验证模式C、仅混合模式D、Windows⾝份验证模式和混合模式3、对视图的描述错误的是:( C)A、是⼀张虚拟的表B、存储视图时存储的是视图的定义C、在存储视图时存储的是视图中的数据D、可以像查询表⼀样来查询视图4、在T-SQL语⾔中,若要修改某张表的结构,应该使⽤的修改关键字是(A )。
A、ALTERB、UPDATEC、UPDAETD、ALLTER5、要查询book表中所有书名中以“计算机”开头的书籍的价格,可⽤( D)语句。
A、 SELECT price FROM book WHERE book_name = ‘计算机*’B、 SELECT price FROM book WHERE book_name LIKE ‘计算机*’C、 SELECT price FROM book WHERE book_name = ‘计算机%’D、 SELECT price FROM book WHERE book_name LIKE ‘计算机%’6、(D )是属于信息世界的模型,实际上是现实世界到机器世界的⼀个中间层次。
A、数据模型B、E-R模型C、概念模型D、关系模型7、在SQL Server 2005中,当数据表被修改时,系统⾃动执⾏的数据库对象是( B )。
A、存储过程B、触发器C、视图D、其他数据库对象8、要删除视图myview,可以使⽤( D )语句。
A、 DROP myviewB、DROP TABLE myviewC、 DROP INDEX myviewD、DROP VIEW myview9、SQL Server提供的单⾏注释语句是使⽤(B )开始的⼀⾏内容。
《SQL Server数据库技术与应用》期末复习一、单项选择题(每小题2分,共20分)1.“借书日期必须在还书日期之前”这种约束属于数据库的()功能。
A.恢复B.并发控制C.完整性D.安全性C.完整性2.在数据中,产生数据不一致的根本原因是()。
A.没有严格保护数据B.数据存储量太大C.数据间联系弱D.数据冗余D.数据冗余3.次数据文件用于存储不能存在主数据文件中的数据,默认扩展名为()。
A..ndf B..mdf C..log D..datA..ndf4、若要求查找‘’姓学生的学生号和,正确的SQL语句是( B )。
A. SELECT S#,SNAME FROM S WHERE SNAME=’%’B. SELECT S#,SNAME FROM S WHERE SNAME LIKE ’%’C. SELECT S#,SNAME FROM S WHERE SNAME=’%%’D.SELECT S#,SNAME FROM S WHERE SNAME LIKE ’%%’5.通过CREATE TABLE语句或者其他方法创建了一个表后,可以使用()语句在表中添加记录。
A.DELETE B.INSERT C.UPDATE D.INSEATERB.INSERT6.在关系数据库系统中,一个关系就是()。
A.一二维表B.一条记录C.一个关系数据库D.一个关系代数运算A.一二维表7.语句SELECT ,性别,出生日期FROM student_info返回()列。
A.1 B. 2 C.3 D.4C.38.语句SELECT 1.2*0.5的结果是()。
A.NULL B.1 C.0 D.0.6D.0.69.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建(c )。
A.另一个表B.游标C.视图D.索引5.一个查询的结果成为另一个查询的条件,这种查询被称为()。
A.连接查询B.查询C.自查询D.子查询D.子查询10.为了对表中的各行进行快速访问,应对此表建立()。
SQL Server数据库应用管理-习题集说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学号,姓名,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。
一、单项选择题1.下列属于SQL Server系统数据库的是。
A.master B.SysbaseC.student D.Database2.SQL Server中,数据库主数据文件扩展名为。
A.ldf B.mdfC.ndf D.dbf3.SQL Server中,索引类型按结构划分,包括。
A.聚集索引和非聚集索引B.主索引和次索引C.单索引和复合索引D.内索引和外索引4.SQL Server的数据定义语句是。
定义:创建A.CREATE,DROP,ALTERB.INSERT,UPDATE,DELETEC.SELECT,DELETE,UPDATED.CREATE,GRANT,INSERT5.下面的描述正确的是。
A.每个数据文件中可以有多个主数据文件B.只允许有一个次数据文件。
C.一个数据库有主数据库文件即可。
D.一个数据库至少由一个主数据文件和一个日志文件组成。
6.下面字符串能与通配符表达式ABC%a 进行匹配的是。
A.BCDEF B.A_BCD C.ABCDa D.ACBDE 7.下列属于数据库管理系统的是。
A.SQL Server 2005B.ExcelC.Windows 2000D.IE68.实体完整性要求主属性不能取空值,这一点通常是通过实现。
A.定义外部键来保证B.定义主键来保证C.用户定义的完整性来保证D.关系系统自动保证Server的数据操纵命令是。
A.SELECT,INSERT,UPDATE,DELETEB.CREATE,INSERT,UPDATE,DELETEC.GRANT,CREATE,REVOKED.SELECT,CREATE,DROP,ALTER10.下面的描述错误的是。
A. 每个数据文件中有且只有一个主数据文件B.可以有多个次数据文件。
(一) 新建以下几个表student(学生表):其中约束如下:(1)学号不能存在相同的(2)名字为非空(3)性别的值只能是’男’或’女’(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系(5)出生日期为日期格式(6)年龄为数值型,且在0~100之间cs(成绩表):其中约束如下:(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0〜100之间,可以不输入值create table cs (sno smallint not null referencesstudent ( sno ), ----定义成外键cno smallint not null referencescourse ( cno ), ----定义成外键cj smallint constraint e check (cj between0 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)查询学校中有哪些系。
select distinct dept from student(6)查询选修了课程的学生学号。
select sno from cs where eno is not null(7)查询所有年龄在20岁以下的学生姓名及其年龄。
SQL数据库期末复习题答案-子良学生期末综合练习题班级:14电商2班序号:25号姓名:莫子良一、选择题:(1) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,)关于Primary key的描述,那个是正确的(D)A、指定惟一键B、指定检查约束C、指定标识D、指定主键(2) 下面哪个约束,具有自动地生成字段值的是(D)A、Identity标识B、外键约束C、惟一键约束D、主键约束(3) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) UNIQUE ,)关于UNIQUE的描述,那个是正确的(A)A、指定惟一键B、指定检查约束D、指定主键(4) 下面的关于约束的说法,哪个是不正确(D)A、主键、标识列是保证实体完整性。
B、通过CHECK约束、规则、默认值和非空属性可以保证域完整性。
C、参照完整性定义了同一个关系数据库中,不同表中列之间的关系。
D、主键列不能为空值,并且一个表可以有多个主键。
(5) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,工作时间DateTime default getdate())关于default的描述,那个是正确的(C)A、指定惟一键B、指定标识C、指定默认值D、指定主键(6) 下面是创建表的命令:create table 客户信息(编号Int Primary key Identity(1,1),姓名varchar(10) Not NULL ,)关于Identity的描述,那个是正确的(C)A、指定惟一键B、指定检查约束D、指定主键(7) 下面哪个约束,可以让字段能为空的是(C)A、Identity标识B、外键约束C、惟一键约束D、主键约束(8) 下面的说法,哪个是不正确的(C)A、一个表中只能定义一个主键B、每个表可以有多个惟一键C、每个表中,可以定义多个主键D、外键列可以由一列或多列组成(9) 关于SQL Server的安全模型,下面说法不正确的是(A)A、用户只要登录到SQL Server服务器实例,就可以访问数据库了B、S QL Server有混合身份验证和仅windows两种验证模式C、一个登录名要访问哪个数据库,需要将登录名映射到该数据库中D、一个登录名可以与多个数据库建立映射(10) 下面的SQL语句中,完全正确的是:(C)A、Declare @dispStr Varchar(20)='这是一个局部变量'Print @dispStrB、Declare @dispStr Varchar(20),@numInt Intset @dispStr='这是一个局部变量',@numInt=6C、Declare @dispStr Varchar(20),@num Int=6set @dispStr='这是一个局部变量'Print @dispStrD、Declare @dispStr Varchar(20),@numInt IntSelect @dispStr='这是一个局部变量',@numInt=6二、判断下列语句是否正确1)“南京大学”是SQL中的字符串常量答:不是,“”中的常量不属于字符串常量,应使用‘’号2)‘328.59’是SQL中的实型常量。
第三章SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。
A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)。
A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。
A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。
A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。
A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。
A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。
A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S …Age‟11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
结构化查询语⾔SQL习题与答案结构化查询语⾔SQL习题与答案 篇⼀:结构化查询语⾔SQL习题与答案 ⼀、选择题 1. 在SQL包含的功能中,最重要的功能是_______。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制 2. 使⽤SQL语⾔有两种⽅式,它们是_______。
A) 菜单式和交互式B) 嵌⼊式和程序式 C) 交互式和嵌⼊式D) 命令式和解释式 3. SQL的全部功能可以⽤9个动词概括,其中动词INSERT是属于下列______功能。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制 4. SQL语⾔⽀持数据库的三级模式结构,其中模式对应于______。
A) 存储⽂件 B) 视图 C) 基本表 D) 视图和基本表 5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。
A) 0B) 空格 C) NULL D) 不确定 6. 在SQL的ALTER语句中,⽤于删除字段的⼦句是______。
A) ALTER B) DELETE C) DROP D) MODIFY 7. SQL中的INSERT语句可以⽤于______。
A) 插⼊⼀条记录 B) 插⼊⼀个字段 C) 插⼊⼀个索引 D) 插⼊⼀个表 8. 下列描述错误的是______。
A)⽤INSERT-SQL语句可以插⼊⼀条记录 B)⽤INSERT-SQL语句可以插⼊多条记录 C)使⽤INSERT-SQL语句可以插⼊记录的部分数据 D)使⽤INSERT-SQL语句插⼊记录时列名的排列顺序必须与表定义时的顺 序⼀致 9. INSERT-SQL语句中所使⽤的数据不能来⾃于______。
A) 数组 B) 变量 C) 查询 D) 索引 10. SQL中的UPDATE语句可以⽤于______。
A) 更新数据表的结构 B) 更新数据表的值 C) 更新索引D) 更新查询 11. 下列描述错误的是______。
SQL练习题库表结构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表试题:1、查询“0001”课程比“C002”课程成绩高的所有学生的学号;Select s# from scWhere c#='0001' and score>any(select score from sc c#='0002')2、查询平均成绩大于60分的同学的学号和平均成绩;select s#,avg(score) from SCgroup by s#having avg(score)>603、查询所有同学的学号、姓名、选课数、总成绩;select student.s#,student.sname,count(sc.c#)as 选课数,sum(score)总成绩from student,scwhere student.s#=sc.s#group by student.s#,student.sname4、查询姓“张”的老师的个数;select count(*)人数from teacherwhere tname like'张%'5、查询没学过“叶平”老师课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# not in(select t# from teacher where tname='张丽芬') group by student.s#,student.sname6、查询学过“0001”并且也学过编号“0002”课程的同学的学号、姓名;select sc.s#,sname from sc,studentwhere sc.c# = '0001' and student.s# = sc.s# and sc.s# in (select s# from sc where sc.c# = '0002')--并(两表值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'unionselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--交(有相同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'intersectselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--差(不同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'exceptselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# in(select t# from teacher where tname='张丽芬')group by student.s#,student.sname8、查询课程编号“001”的成绩比课程编号“002”课程低的所有同学的学号、姓名;select student.s#,sname,score from student,scwhere student.s#=sc.s# and score in(( select score from sc where c#='0001' )<all( select score from sc where c#='0002' )) 9、查询所有课程成绩小于60分的同学的学号、姓名;select student.s#,sname from studentwhere s# in(select s# from sc where score<60)10、查询没有学全所有课的同学的学号、姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s#group by student.s#,student.snamehaving count(c#)<(select count(c#) from course)11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s# and c#=any(select c# from scwhere s#='1001')group by student.s#,student.sname12、查询至少学过学号为“0001”同学所有一门课的其他同学学号和姓名;Select sc.s#,sname from sc inner join student on sc.s#=student.s#Where c# in (select c# from sc where s#=’0001’)13、把“SC”表中“赵雁南”老师教的课的成绩都更改为此课程的平均成绩;update scset score=(select avg(sc.score) from sc,teacher,coursewhere sc.c#=course.c# and course.t#=teacher.t# and teacher.tname='赵雁南')where sc.c#=(select c# from course,teacher where course.t#=teacher.t# and tname='赵雁南' )14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select student.s#,sname from student,scwhere student.s#=sc.s# and sc.c#=all(select c# from sc where s#='1005') and student.s#<>'1005'15、删除学习“朱玉文”老师课的SC表记录;delete from scwhere c# in(select c# from sc where c# in (select c# from course,teacher where teacher.t#=course.t# and teacher.tname='朱玉文' ) )16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“0002”课程的同学学号、号课的平均成绩;insert into scvaluesselect s# from sc where s# not in (select s# from sc where c#='0002'select avg(score) as 平均成绩from sc where c#='0002'17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分select sc.s#,ame,sc.score,avg(score)as 平均成绩from sc inner join course on sc.c#=course.c#where sc.c# in(select c# from course where cname=any(select cname from course where cname in('计算机基础','Oracle','软件工程')))group by sc.s#,ame,sc.scoreorder by avg(score) descSELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0001') AS 计算机基础,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0002') AS Oracle,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0011') AS 软件工程,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM sc AS tGROUP BY S#ORDER BY avg(t.score) desc18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分select c# 课程ID,max(score) 最高分,min(score) 最低分from scgroup by c#19、按各科平均成绩从低到高和及格率的百分数从高到低顺序select c#, avg(score) from scwhere score>60group by c#20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(),马克思(),OO&UML (),数据库()21、查询不同老师所教不同课程平均分从高到低显示select course.t#,avg(sc.score) as 平均分from sc,coursewhere sc.c#=course.c#group by course.t#order by avg(sc.score) desc22、查询如下课程成绩第3 名到第6 名的学生成绩单:企业管理,马克思,UML,数据库[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩select student.s#,student.sname,sc.score,ame from student inner join sc on student.s#=sc.s#inner join course on sc.c#=course.c#where ame in('oracle','电路分析','计算机基础')order by ame,sc.score desc23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]select sc.c#,ame,count(*)人数from sc,coursewhere course.c#=sc.c#group by sc.c#,ame24、查询学生平均成绩及其名次select sc.s#,avg(score) from scgroup by sc.s#order by avg(score) desc25、查询各科成绩前三名的记录考虑成绩并列情况select s#,c# ,score from scwhere score in (select distinct top 3 score from scgroup by c#,score)order by score desc26、查询每门课程被选修的学生数select c# as 课程号,count(c#)as 选修人数from scgroup by c#order by count(c#) desc27、查询出只选修了一门课程的全部学生的学号和姓名select sc.s#,student.sname from sc inner join student on student.s#=sc.s#group by sc.s#,student.snamehaving count(c#)=128、查询男生、女生人数select ssex, count(*) as 总人数from studentgroup by ssex29、查询姓“张”的学生名单select sname from studentwhere sname like '张%'30、查询同名同性学生名单,并统计同名人数select ssex,count(*) from studentgroup by ssex31、同年出生的学生名单(注:Student表中Sage列的类型是datetime)32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列select c#,avg(score)平均成绩from scgroup by c#order by avg(score) asc33、查询平均成绩大于的所有学生的学号、姓名和平均成绩select top 1 student.s#,student.sname,avg(score)平均成绩from student inner join sc on student.s#=sc.s#group by student.s#,student.snameorder by avg(score) desc34、查询课程名称为“数据库”,且分数低于80的学生姓名和分数select student.sname,sc.score from sc,student,coursewhere student.s#=sc.s# and sc.c#=course.c# and ame='计算机基础' and sc.score<80group by student.sname,sc.score35、查询所有学生的选课情况;select student.s#,sname,c# from student left join sc on student.s#=sc.s#36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;select student.sname,ame,sc.score from student,sc,coursewhere student.s#=sc.s# and sc.c#=course.c# and sc.score>70order by score desc37、查询不及格的课程,并按课程号从大到小排列select c#,score from scwhere score<60order by c#38、查询课程编号为0001且课程成绩在70分以上的学生的学号和姓名;select student.s#,sname from sc,studentwhere c#='0001' and score>70 and student.s#=sc.s#39、求选了课程的学生人数select count(s#)人数from scwhere sc.score<>040、查询选修“oracle”课程的学生中,成绩最高的学生姓名及其成绩select top 1 student.sname,max(sc.score)成绩最高from student inner join sc on student.s#=sc.s# inner join course on sc.c#=course.c#where ame='oracle'group by student.snameorder by max(sc.score) desc41、查询各个课程及相应的选修人数select ame,count(sc.c#) as 选修人数from sc inner join course on sc.c#=course.c#group by ameorder by count(sc.c#) desc,ame asc42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 score FROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#44、统计每门课程的学生选修人数(超过人的课程才统计)。
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
第一章1、数据完整性是指( D )A.数据库存中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确反映情况2、SQL中pubs数据库属于(A )A.用户数据库B.系统数据库C.数据库模板D.数据库管理系统3、数据冗余指的是( D )A.数据与数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据4、SQL Server数据库的主数据文件的扩展名为( B )A. .sqlB. .mdfC. .mdbD. .ldf5、下列关于关系数据库叙述错误的是(B )A.关系数据库的结构一般保持不变,但也可根据需要进行改变B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库C. 关系数据库表中的所有记录的关键字字段的值互不相同D. 关系数据库表中的外部关键字不能用于区别该表中的记录6、创建数据库时,需要指定( C )属性。
A.数据库初始大小B.数据库的存放位置C.数据库的物理名和逻辑名D.数据库的访问权限7、以下说法正确的是( A )A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL ServerC.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务D.只能通过服务管理器对SQL S erver进行启动和停止8、SQL Server提供的4个系统数据库,以下说法正确的是( D )A.tempdb数据库是一个空数据库,完全可以删除B.adventure works是用来做模板的一个数据库C.msdb数据库是用来做例子的数据库D.创建新的空白数据库时,将使用Model数据库所规定的默认值9、以下说法错误的是(C)A.数据完整性是指存储在数据库中数据的准确性B.SQL Server是一个DBMSC.ERP、CRM、MIS等都是DBMSD.设计数据库时允许必要的冗余第二章1、创建银行的贷款情况表时,“还款日期”默认为当天,且必须晚于“借款日期”,应采用(A)约束。
SQL Server数据库应用管理-习题集说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学号,,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。
一、单项选择题1.下列属于SQL Server系统数据库的是。
A.master B.SysbaseC.student D.Database2.SQL Server中,数据库主数据文件扩展名为。
A.ldf B.mdfC.ndf D.dbf3.SQL Server中,索引类型按结构划分,包括。
A.聚集索引和非聚集索引B.主索引和次索引C.单索引和复合索引D.索引和外索引4.SQL Server的数据定义语句是。
定义:创建A.CREATE,DROP,ALTERB.INSERT,UPDATE,DELETEC.SELECT,DELETE,UPDATED.CREATE,GRANT,INSERT5.下面的描述正确的是。
A.每个数据文件中可以有多个主数据文件B.只允许有一个次数据文件。
C.一个数据库有主数据库文件即可。
D.一个数据库至少由一个主数据文件和一个日志文件组成。
6.下面字符串能与通配符表达式 ABC%a 进行匹配的是。
A. BCDEF B.A_BCD C. ABCDa D. ACBDE 7.下列属于数据库管理系统的是。
A.SQL Server 2005B.ExcelC.Windows 2000D.IE68.实体完整性要求主属性不能取空值,这一点通常是通过实现。
A.定义外部键来保证B.定义主键来保证C.用户定义的完整性来保证D.关系系统自动保证9.SQL Server的数据操纵命令是。
A.SELECT,INSERT,UPDATE,DELETEB.CREATE,INSERT,UPDATE,DELETEC.GRANT,CREATE,REVOKED.SELECT,CREATE,DROP,ALTER10.下面的描述错误的是。
A. 每个数据文件中有且只有一个主数据文件B.可以有多个次数据文件。
C.一个数据库有主数据库文件即可。
D.一个数据库至少由主数据文件和日志文件组成。
11.对于查询语句的结果,有时会出现重复的数据行,可以使用以下哪个关键字可消去重复记录行。
A. Only B. SelectC. DistinctD. Order by12.下列说法中正确的是。
A.SQL 中局部变量可以不声明就使用B.SQL 中全局变量必须先声明再使用C.SQL 中所有变量都必须先声明后使用D.SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
13.下面对索引的相关描述正确的是:。
A. 经常被查询的列不适合建索引。
B. 列值唯一的列适合建索引。
C. 有很多重复值的列适合建索引。
D. 是外键或主键的列不适合建索引。
14.下列说法中正确的是。
A. SQL 中局部变量可以不声明就使用B. SQL 中全局变量必须先声明再使用C. SQL 中所有变量都必须先声明后使用D. SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
15.E-R模型的三要素是 c 。
A. 实体、属性、实体集B. 实体、键、联系C. 实体、属性、联系D. 实体、域、候选键16.SQL Server系统数据库不包括。
A.master B.tempdbC.student D.model17.SQL Server中,数据库日志文件扩展名为。
A.ldf B.mdfC.ndf D.dbf18.SQL Server中,索引类型包括。
A.聚集索引和非聚集索引B.主索引和次索引C.单索引和复合索引D.索引和外索引19.SQL语言中行注释的符号为______。
A.< >B./* */C.--D./-20.参加“自然联接”运算的两个关系。
A.至少存在一个相同属性名B.可不存在任何相同属性名C.不可存在多个相同属性名D.所有属性名必须完全相同21.下面标志符合法的是。
A. trigger1B. 123_aC. abcD. ABC_[1]22.创建数据库语句A. Create DatabaseB. Delete DatabaseC. Set DatabaseD. Create Table23.实体完整性要求主属性不能取空值,这一点通常是通过。
A.定义外部键来保证B.定义主键来保证C.用户定义的完整性来保证D.关系系统自动保证24.我们使用的SQL Server 2005,它是一个。
A. 数据库B. 数据库系统C. 数据库管理系统D. 数据库文件25.在SQL Server中,每个表上能创建个非聚簇索引。
A. 1B. 3C. 249D. 25526.所谓概念模型,指的是。
A.客观存在的事物及其相互联系B.将信息世界中的信息数据化C.实体模型在计算机中的数据化表示D.现实世界到机器世界的一个中间层次,即信息世界27.备份数据库Mydb的语句为A. RESTORE DATABASE MydbB. BACKUP DATABASE MydbC. EXEC DATEBASE MydbD. UPDATE DATABASE Mydb28.下列不是数据库对象的是。
表存储过程触发器视图规则默认索引A. 表B. 触发器C. 视图D. 用户权限29.块注释的符号为_______。
A. < >B. /* */C. --D. /-30.假如采用关系数据库系统来实现应用,在数据库设计的()阶段,需要将E-R模型转换为关系数据模型。
A. 概念设计B. 物理设计C. 逻辑设计D. 运行阶段二、填空题1.SQL Server中的变量分为两种,全局变量和局部变量,其中全局变量的名称以字符开始,由系统定义和维护。
局部变量以字符开始,由用户自己定义和赋值。
2.在查询分析器中,使用Create Database命令创建数据库,使用Alter Database命令修改数据库,使用drop database删除数据库。
3.一个脚本可以包含一个或多个批,脚本中的go命令标志一个批的结束。
4.SQL Server2005中数据库文件有 mdf主数据库文件、 ndf次数据库文件、 Ldf日志数据库文件。
5.SQL Server主要提供了两种机制来强制业务规则和数据完整性,是:__约束,__触发器。
6. 四种数据库备份分别是完全数据库备份、差异数据库备份、事务日志备份、数据库文件和文件组备份。
7.SQL Server 2005的安全级别分为身份验证阶段和权限认证阶段两个层次。
8. 关系的完整性包括实体完整性、域值完整性、参照完整性、用户自定义完整性。
9.在一个表上能创建_1_个聚集索引,_ 249 _个非聚簇索引。
10. 数据库系统一般由数据库,操作系统,数据库管理系统及开发工具,数据库应用程序,数据库管理员和用户组成。
简答题:最常见的数据库对象:表存储过程触发器视图规则默认索引视图的作用 P166集中简化和定制显示数据库中的数据信息.为用户以多种角度观察数据库中的数据提供方便.为了屏蔽数据的复杂性,简化用户对数据的操作或者控制用户访问数据.对数据提供安全保护索引的作用 P178类似书本的目录,用来提高查找信息的速度索引的原则 P180主键列上一定要建立索引外键列可以建索引在经常查询的字段上最好建立索引对于很少涉及的列.重复值比较多的列不要建索引对于定义为txt,image和bit数据类型的列上不要建立索引简单的编程创建和定义触发器 P257 create triggeruse studentgocreate trigger banji on班级for deleteasdeclare banji char(9)select banji=班级代码from deletedif exists(select*from学生where班级代码=banji)beginprint'无法删除'rollback transactionendgo创建学生表包括性别学号年龄并设置合适的数据类型use studentgocreate table 学生(学号char(12) primary key,varchar(8),性别char(2),出生日期datetime,入学时间datetime,班级代码char(9) references 班级(班级代码))Go将学生表中三的年龄改成20use studentgoupdate 学生set 年龄=20where = '三'go查询比三大的所有同学的按年龄降序排序use studentgoSelectFrom 学生Where 出生日期< any(select 出生日期from 学生where = '三' )Order by 出生日期descgo查询已选修数据库的学生的人数Select count(*) AS 学生人数Form 选修Where 课名 = 数据库And 选修.课号=学生.课号use studentgoSelect count(*)From 课程注册Where 课程号in (select 课程号 from 课程 where 课程名称= 'SQL Server 2005') go大题:1编写存储过程use studentgocreate proc cc_bjmcasselect 班级名称from 班级where 系部代码= (select 系部代码 from 系部 where 系部名称= '计算机系')go结构: create proc 存储过程名称As(对象)2写一个多语句表值函数第十章 P215 例题33 32通过输入的课程名称返回选修该课程的学生和成绩create function chengji(inputkc as char(20))returns chji table(课程名称char(20),char(8),成绩tinyint)asbegininsert chjiselect c.课程名称,s.,k.成绩from学生as s inner join课程注册as kon s.学号= k.学号inner join课程as con c.课程号=k.课程号and c.课程名称=inputkcreturnendgo3 使用游标声明游标打开游标提取数据关闭游标释放游标 P229use studentgodeclare a cursor SCROLL dynamic for select*from课程备份--声明游标a open a --打开游标fetch first from a --提取第一条数据delete from课程备份--删除游标所在行记录where current of afetch next from a --提取下一行数据--修改数据update课程备份set课程名称='23'where current of afetch last from aupdate课程备份set课程名称='45'where current of aclose a --关闭游标deallocate a --删除游标goselect*from课程备份go创建一”人事信息”表,表中包含职工编号.职工名称.性别.出生日期.系部代码.联系.在创建时根据需要定义约束.use studentgocreate table人事信息(职工编号char(12)not null primary key,--主键约束职工char(8)not null unique,--唯一约束性别char(2)not null default'男',--默认约束出生日期datetime not null check(出生日期>'01/01/1950'),--检查约束系部代码char(2)not null foreign key(系部代码)references系部(系部代码), --外键约束联系char(15))go。