数据库SQL实验题目

合集下载

数据库SQL实验题目(14-15-1)

数据库SQL实验题目(14-15-1)

实验一数据定义操作●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

按照相同的方法,将属性Sno也设置为外键。

图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 简单查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Teacher 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。

数据库SQL实验题目

数据库SQL实验题目

实验一数据库和表的建立●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

按照相同的方法,将属性Sno也设置为外键。

图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 单表查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Student 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。

SQL数据库实验一 简单数据查询

SQL数据库实验一 简单数据查询

实验一简单数据查询1.从student表中检索学生所在班级编码,并消除重复行selectdistinct ClassNo from Student2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序select Teacher '教师名',CouNo'课程号',CouName'课程名称'from Courseorderby Teacher desc3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行selecttop 15 CouNo'课程号',CouName'课程名称'from Coursewhere CouNo>0054.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师select Teacher '教师名'from Coursegroupby Teacherhaving cast(avg(WillNum)asdecimal(5,2))between 25 and 355.查看部门编号为“03”的部门名称。

select DepartNamefrom Departmentwhere DepartNo='03'6.查看部门名称中包含有“工程”两个字的系的全名。

select DepartNamefrom Departmentwhere DepartName like'%工程%'7.显示共有多少个部门。

select count(*)'部门总数'from Department8.显示“01”年级共有多少个班级。

select count(*)'01级共有班级数'from Classwhere ClassNo like'2001____'9.查看在“周二晚”上课的课程名称和教师。

SQL实验的题目和答案全解

SQL实验的题目和答案全解

数据库实验总汇二、使用SQL Server 工具在管理数据库系统和运行SQL查询的两个主要工具是企业管理器和查询分析器三、实验目的1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL对数据库进行操作。

3.完成上机练习。

四、实验内容(打※为选做题)Part A1.使用CREATE语句创建数据库2. 使用CREATE语句创建基本表3.更改基本表的定义,增加列,修改列的数据类型。

4.创建表的索引,取消表的索引1、数据库的建立使用SQL 语句建立关系数据库schooldemo2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea),表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT (10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date (DATETIME);(三个表之间有联系)3、更改基本表的定义,增加列,删除列,修改列的数据类型。

更改表PERSON,增加属性Ptype(类型是CHAR ,长度为10),把表ROOM中的属性Rname的数据类型改为长度为40。

4、创建表的索引,取消表的索引为ROOM表创建按Rno降序排列的索引创建PERSON表按Pname升序排列的唯一性索引取消PERSON表Pname升序索引5、删除表ROOM实验过程(1.a)1、数据库的建立使用SQL 语句建立关系数据库schooldemocreate database schooldemoon(name=schooldemo,filename='e:\123\school_data.mdf',size=5mb,maxsize=15mb,filegrowth=10%)log on(name=schooldemo_log,filename='e:\123\schooldemo.ldf',size=5mb,maxsize=15mb,filegrowth=4mb)2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea), 表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT(10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date(DATETIME);(三个表之间有联系)create table person(pno char (8)primary key,pname char (20),page int);create table room(rno char (8) primary key,rname char(20),rarea float(10));create table pr(pno char (8),rno char (8),date datetime,primary key(pno,rno),foreign key(pno) references person(pno),foreign key(rno) references room(rno));3、更改基本表的定义,增加列,删除列,修改列的数据类型。

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/6b7958374.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/6b7958374.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

SQL实验报告的八个题目

SQL实验报告的八个题目

实验一:SQL Server数据库的安装【目的与要求】1.掌握SQL Server服务器的安装。

2.掌握企业管理器的基本使用方法。

3.掌握查询分析器的基本使用方法。

4.对数据库及其对象有一个基本了解。

【实验准备】1.了解SQL Server各种版本安装的软、硬件要求。

2.了解SQL Server支持的身份验证模式。

3.了解SQL Server各组件的主要功能。

4.对数据库、表和数据库对象有一个基本了解。

5.了解在查询分析器中执行SQL语句的方法。

【实验内容】1.安装SQL Server 根据软硬件环境。

2.利用企业管理器访问系统自带的pubs数据库(1)启动SQL Server服务管理器。

(2)以系统管理员身份登录到企业管理器。

(3)在企业管理器的树形目录中展开数据库,找到pubs并展开,则列出该数据库的所有对象,如表、视图、存储过程、默认和规则等。

(4)选中“表”,将列出pubs数据库的所有表(包括系统表和用户表),在此以用户表titles为例,选中该表,单击鼠标右键,弹出快捷菜单,执行“打开—返回所有行”菜单项,打开该表,查看其内容。

3.利用查询分析器访问pubs数据库的表。

【实验学时】4学时实验二:创建数据库表【目的和要求】1.了解SQL Server数据库的逻辑结构和物理结构。

2.了解表的结构特点。

3.了解SQL Server的基本数据类型。

4.学会在企业管理器中创建数据库和表。

5.学会使用T-SQL语句创建数据库和表。

【实验准备】1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。

2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。

3.确定数据库包含哪些表以及包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。

4.了解常用的创建数据库和表的方法。

SQL数据库实验和参考答案

SQL数据库实验和参考答案

数据库实验和参考答案上机实验七1.声明一个字符串型的局部变量,并对其赋值:‘我的变量’,然后显示出此值。

declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显示@i2的结果值。

declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)用While语句实现5000减1,减2,……一直减到50的计算,并显示最终的结果。

declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。

declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。

要求输出界面为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学生的选课成绩情况,分别统计各分数段人数,并输出统计结果。

SQL数据库实验提纲练习题目SQL-2

SQL数据库实验提纲练习题目SQL-2

实验提纲2 SQL 语言(2)一、按照教材75页的SPJ 数据库完成如下查询。

数据库完成如下查询。

(注:数据库已经建立好,参加附件spj ,只需还原即可,无需重新见表),只需还原即可,无需重新见表) 1、教材75页第5题(1)(2)(3)。

2、教材127页第5题全部。

题全部。

3、教材128页第11题全部。

(预习后完成)(预习后完成)4、查询所在城市为“上海”的所有工程的详细情况。

、查询所在城市为“上海”的所有工程的详细情况。

5、查询重量最轻的零件号码。

、查询重量最轻的零件号码。

6、找出供应商S1提供的零件的颜色。

提供的零件的颜色。

7、找出为工程J1和J2提供零件的供应商代码。

提供零件的供应商代码。

8、找出为工程J1提供红色零件的供应商代码。

提供红色零件的供应商代码。

9、找出为所在城市为上海或北京的工程提供红色零件的供应商代码。

、找出为所在城市为上海或北京的工程提供红色零件的供应商代码。

10、找出供应商与工程所在城市相同的供应商提供的零件代号。

、找出供应商与工程所在城市相同的供应商提供的零件代号。

11、找出上海的供应商提供给上海任一工程的零件的代号。

、找出上海的供应商提供给上海任一工程的零件的代号。

12、找出至少由一个和工程不在同一城市的供应商提供零件的工程代号。

、找出至少由一个和工程不在同一城市的供应商提供零件的工程代号。

13、找出上海供应商不提供任何零件的工程代号。

、找出上海供应商不提供任何零件的工程代号。

14、找出所有这样的一些二元组<city ,city>,使得第一个城市的供应商为第二个城市的工程提供零件。

个城市的工程提供零件。

15、找出所有这样的一些二元组<city ,city>,使得第一个城市的供应商为第二个城市的工程提供零件,但不检索两个city 值相同的二元组。

值相同的二元组。

16、按工程号递增的顺序列出每个工程购买的零件总量。

、按工程号递增的顺序列出每个工程购买的零件总量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据定义操作实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表参数参数值参数参数值存储的数据文件路径D:\db\ 存储的日志文件路径D:\db\数据文件初始大小5MB 日志文件初始大小2MB数据文件最大值20MB 日志文件最大值15MB数据文件增长量原来10% 日志文件增长量2MB二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,主码Sname Varchar 8 0 0 是姓名Ssex Char 2 0 0 是性别,取值:男或女Sbirthday Date 8 0 0 是出生日期Sdept Char 16 0 0 是系名Speciality Varchar 20 0 0 是专业名特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名(3)SC表(成绩表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,外码Cno Char 5 0 0 否课程号,外码Degree Decimal 5 5 1 是成绩,0~100之间特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

按照相同的方法,将属性Sno也设置为外键。

图2为SC 表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”) Sno Sname Ssex Sbirthday Sdept Speciality 李勇 男 1987-01-12 计算机系 计算机应用 刘晨 女 1988-06-04 信息管理系 电子商务 王敏 女 1989-12-23 数学系 数学 张立 男1988-08-25信息管理系电子商务课程关系表Course 成绩表SC Cno Cname C01 数据库 C02 数学 C03 信息系统 C04 操作系统3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student 表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?Sno Cno Degree C01 92 C02 85 C03 88 C02 90 C03 80 C01 91 C02 75C0187实验二简单查询实验目的1.掌握SELECT语句的基本用法2.使用WHERE子句进行有条件的查询3.掌握使用IN和NOT IN,BETWEEN…AND和NOT BETWEEN…AND来缩小查询范围的方法4.掌握聚集函数的使用方法5.利用LIKE子句实现字符串匹配查询6.利用ORDER BY子句对查询结果排序7.利用GROUP BY子句对查询结果分组实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher表,结构如下:字段名称数据类型长度精度小数位数是否允许Null值说明Tno Char 3 0 0 否教师号,主码Tname Varchar 8 0 0 是教师名Tsex Char 2 0 0 是性别,取值:男或女Tbirthday Date 8 0 0 是出生日期Tdept Char 16 0 0 是所在系2.在实验一的所建立的数据库中增加Teaching表,表结构如下:Teaching表(授课表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Cno Char 5 0 0 否课程号,外码Tno Char 3 0 0 否教师号,外码Cterm Tinyint 1 0 0 是1-8之间3.向上述两表中输入如下数据记录教师表Teacher 授课表TeachingTno T name Tsex T birthday Tdept101 李新男1977-01-12 计算机系102 钱军女1968-06-04 计算机系201 王小花女1979-12-23 信息管理系202 张小青男1968-08-25 信息管理系二、完成下面查询1.查询所有男生信息Cno Tno Cterm C01 101 2C02 102 1C03 201 3C04 202 42.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。

思考题1.聚集函数能否直接使用在:SELECT子句、HAVING子句、WHERE子句、GROUP BY子句中?2.关键字ALL和DISTINCT有什么不同的含义?3.SELECT语句中用于表示模糊查询的通配符有几种?含义分别是什么?4.利用BETWEEN…AND表示的数据范围能否用其他方法表示?怎样表示?如:score between 80 and 90 还可以怎么表示?实验三复杂查询实验目的1.掌握连接查询和嵌套查询操作2.能灵活应用SELECT语句解决复杂的查询问题实验内容和要求一、连接查询1.查询女学生的学生学号及总成绩2.查询李勇同学所选的课程号及成绩3.查询李新老师所授课程的课程名称4.查询女教师所授课程的课程号及课程名称5.查询姓“王”的学生所学的课程名称6.查询选修“数据库”课程且成绩在80到90之间的学生学号及成绩7.查询选修“C02”课程的学生的平均年龄8.查询学习课程名为“数学”的学生学号和姓名9.查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩10.查询在第3学期所开课程的课程名称,选修其课程的学生学号和成绩二、嵌套查询1.查询至少选修两门课程的男学生姓名2.查询与李勇同一个系的其他同学姓名3.查询学号比刘晨同学大,而年龄比他小的学生姓名4.查询年龄大于所有女同学的男同学的姓名及系别5.查询成绩比该课程平均成绩高的学生的学号、课程号及成绩6.查询不讲授“C01”课的教师姓名7.查询没有选修“C02”课程的学生学号及姓名8.查询选修了“数据库”课程的学生学号、姓名及系别9.查询选修了全部课程的学生姓名10.分别用子查询和连接查询,求“C02”号课程在80分以上的学生信息思考题1.使用存在量词NOT EXISTS的嵌套查询时,何时外层查询的WHERE条件为真,何时为假?2.DROP命令和DELETE命令的本质区别是什么?实验四数据更新、索引及视图操作实验目的1.掌握利用INSERT命令实现对表数据的插入操作2.掌握利用UPDATE命令实现对表数据的修改操作3.掌握利用DELETE命令实现对表数据的删除操作4.掌握索引的创建和使用5.掌握视图的创建和删除实验内容和要求一、数据更新1.向Student表中插入记录('','张静','女','1981-3-21','CS' ,'电子商务')2.插入学号为,姓名为李四学生信息3.把男学生记录保存到表TS中(提示:利用select into 命令可备份数据库中的表格式:select * into 新表名 from 原表名where 子句;)4.将学号为的学生姓名改为张华,系别改为“CS”,专业改为“多媒体技术”5.将学生选修“C03”号课程的成绩改为该课的平均成绩6.把女同学的成绩提高5%7.把选修了“数据库”课程学生的成绩全改为空值(NULL)8.删除学号为的学生记录9.把“刘晨”同学的选课记录全部删除10.删除电子商务专业所有学生的选课记录二、索引的创建与使用1.用索引管理器创建SC表的索引IX_XS_KC。

(1)选择要创建索引的数据库文件夹,并在右边的对象窗口中选择并打开其中的“表”对象。

(2)选择所要创建索引的SC表,右键单击该表,在弹出的快捷菜单中选择“设计”命令,然后在工具栏中单击“管理索引和键”按钮,打开“索引和键”窗口。

(3)单击其中的“添加”按钮,创建新的索引,并为其设置相应的属性。

为SC表创建一个基于“课程号”列和“成绩”列的索引IX_XS_KC,其中课程号列按升序排列,成绩列按降序排列。

设置完成后,如图3所示。

图3 创建索引IX_XS_KC2.强制使用刚才创建的索引查询数据。

在查询命令窗口中输入以下SQL查询命令并执行:SELECT SNO,CNO,DEGREEFROM SCWITH (INDEX (IX_XS_KC))WHERE DEGREE>=60观察一下显示出来的数据是否有序。

相关文档
最新文档