数据库原理中SQL语句实验指导书及答案Word版
- 格式:doc
- 大小:110.50 KB
- 文档页数:15
实验四SQL语言【实验目的】1.掌握SQL语言的使用方法2.利用SQL语句实现相关的操作3.能够独立写出一些较复杂的SQL语句【实验内容】1. 建立一个Student表,由Sno(学号)、Sname(姓名)、Ssex(性别)、Sage(年龄)、Sdept (所在系)五个属性组成。
其中学号不能为空,值是唯一的,并且姓名取值也唯一。
查询名为“创建Student”。
Create table student(sno char(6) not null unique,sname char(4) unique,ssex char(1),sage smallint,sdept char(20))2. 建立一个SC (学生选课)表,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码。
),查询名为“创建SC”。
Create table sc(sno char(6),cno char(3),grade single,primary key (sno,cno))3. 查询所有姓刘的学生的学号与姓名及其出生年份,查询名为“查找姓刘的学生”。
Selelct 学号,姓名,year(出生日期) as 出生年份from 学生表where 姓名like “刘*”4. 查询选修了计算机基础的所有学生的学号、姓名、成绩,查询结果按分数降序排列,查询名为“选修了计算机基础的学生”。
Select 学生表.学号,学生.姓名,选课成绩表.成绩from 学生表,课程表,选课成绩表where 学生表.学号=选课成绩表.学号and 课程表.课程编号=选课成绩表.课程编号and 课程表.课程名称=”计算机基础” order by 选课成绩表.成绩6. 查询所有年龄在20岁及20岁以下的学生姓名、年龄,查询名为“20岁及以下的学生”。
Select 姓名,年龄from 学生表where year(date())-year(出生日期)<=207. 查询考试成绩有不及格的学生的学号和姓名。
实验一SQL语言及相关操作一、实验目的本实验的目的是使学生掌握如何在SQL Server Management studio中进行查询分析以及对数据库中的表和数据进行操作,加深对SQL和SQL语言相关操作理解。
熟练掌握数据查询、表的更新等操作方法。
二、实验时数4学时三、实验内容:(1)利用SQL语句进行简单查询和连接查询操作。
1.列出所有course的课程号、课程名和学分。
2.查询所有蒙古族学生的学号、姓名和所在学院。
3.在score表中显示平均成绩都高于85分的学生学号、课程号和成绩。
4.查询选修课称号为001或005且平均成绩大于等于75分学生的学号、课程号和成绩。
5.查询信息管理学院1991年出生的所有男生的信息。
6.查询所有学生的年龄。
7.查询所有姓王或姓黄的学生的姓名、生日和所在班级名称。
8.查询先修课程为”数据结构”的所有课程。
9.查询信息管理学院非汉族同学的学号、姓名、性别及民族。
10.查找选修了“操作系统”的学生学号、成绩和姓名。
11.查找至少选修了一门其直接先修课编号为004的课程的学生学号和姓名。
12.查找至少选修了学号为0800001的学生所选课程的学生学号和姓名。
10413.查询出生日期在1991年以后的学生的学号、姓名、籍贯和年龄。
14.在student表中查询学生的学号、姓名和平均成绩,并按照平均成绩的降序排列。
15.查找了选修了以“C语言程序设计”为其直接先修课的课程的学生学号、课程号和成绩。
16.在score表中查询平均成绩大于80的学生的学号、课程号和成绩,并先按照课程号的升序、再按照成绩的降序排列。
17.查找信息管理学院学生选课情况,显示学生姓名、课程名和成绩。
18.统计student表中的男女学生的人数。
19.查询成绩最高分的学生的学号、课程号和相应成绩。
20.查询选课少于3门的学生的学号及其选课的门数。
(2) 利用SQL语句进行表的管理等操作。
1.给class表中的classname字段添加唯一约束。
实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。
二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。
五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)课程信息表(course)选课信息表(sc)insert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update studentset Sname='李咏'where Sname='李勇'3.修改课程“数据处理”的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程“1”的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程“大学英语”的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。
《数据库开发与应用》实验指导书沈阳理工大学应用技术学院2009年12月目录实验一数据库和表的操作 (1)实验二数据的操作 (15)实验三存储过程的操作 (18)实验四触发器的使用 (20)实验五数据库综合设计 (22)实验一数据库和表的操作实验目的:1、了解SQL SERVER数据库的逻辑结构和物理结构;2、掌握SQL SERVER数据库的文件组成;3、掌握SQL SERVER数据库中文件组的概念;4、了解表的结构和特点;5、了解SQL SERVER的基本数据类型;6、学会使用结构化查询语句创建和管理数据库和表;实验内容:1、使用sql语句创建最简单的数据库;2、使用sql语句创建带条件的数据库,要指定数据文件和日志文件的名称、大小、最大限制和文件增长速度;3、为数据库改名;4、向数据库中填加、删除一个数据文件;5、向数据库中填加一个日志文件;6、修改数据库文件的属性:包括文件大小,最大限制,增长方式等;7、删除数据库;8、在数据库bookborrow中建立3个基本表,实现对表的管理。
具体实验内容:1、使用sql语句建立最简单的数据库sqlcourse;2、使用sql语句建立数据库school。
包含两个数据库文件和一个日志文件,其中主数据文件的逻辑名为“school_data”,初始大小为10MB,最大大小为500MB,设置文件自动增长,增长方式为10%;辅助数据文件的逻辑名为“school_data2”,初始大小为2MB,最大大小为30MB,设置文件自动增长,增长方式为5MB。
日志文件的所有限制默认。
3、为数据库sqlcourse更名为yangguang。
school_Datayangguangalterdatabase sqlcoursemodify name=yangguangalter database schooladd file(name=new,filename='E:\a\new.ndf',size=3mb,maxsize=10mb,filegrowth=5mb)--删除数据库drop database yangguang--删除数据库school_data2alter database schoolremove file school_data2alter database schooladd log file(name=rizhi,filename='E:\a\rizhi.ldf',size=3mb,maxsize=50mb,filegrowth=5mb)--创建数据库sqlcoursecreate database sqlcourse--创建数据库schoolcreate database schoolon(name=school_data,filename='E:\a\school_data.mdf', size=10mb,maxsize=500mb,filegrowth=10%),(name=school_data2,filename='E:\a\school_data2.ndf', size=2mb,maxsize=30mb,filegrowth=5mb)--为数据库更改名yangguang alter database sqlcoursemodify name=yangguang--创建辅助数据文件alter database schooladd file(name=new,filename='E:\a\new.ndf', size=3mb,maxsize=10mb, filegrowth=5mb)--删除数据库drop database yangguang--删除数据库school_data2 alter database school remove file school_data2alter database schooladd log file(name=rizhi,filename='E:\a\rizhi.ldf', size=3mb,maxsize=50mb, filegrowth=5mb)alter database schooladd file(name=new,filename='E:\a\new.ndf', size=3mb,maxsize=10mb, filegrowth=5mb--删除数据库drop database yangguang--删除数据库school_data2 alter database school remove file school_data2alter database schooladd log file(name=rizhi,filename='E:\a\rizhi.ldf', size=3mb,maxsize=50mb, filegrowth=5mb)alter database sqlcourse modify name=yangguang alter database schooladd file(name=new,filename='E:\a\new.ndf', size=3mb,maxsize=10mb, filegrowth=5mb)--删除数据库drop database yangguang--删除数据库school_data2 alter database schoolremove file school_data2alter database schooladd log file(name=rizhi,filename='E:\a\rizhi.ldf',size=3mb,maxsize=50mb,filegrowth=5mb)--创建数据库sqlcoursecreate database sqlcourse--创建数据库schoolcreate database schoolon(name=school_data,filename='E:\a\school_data.mdf', size=10mb,maxsize=500mb,filegrowth=10%),(name=school_data2,filename='E:\a\school_data2.ndf', size=2mb,maxsize=30mb,filegrowth=5mb)--为数据库更改名yangguang alter database sqlcoursemodify name=yangguang--创建辅助数据文件alter database schooladd file(name=new,filename='E:\a\new.ndf',size=3mb,maxsize=10mb,filegrowth=5mb)--删除数据库drop database yangguang--删除数据库school_data2alter database schoolremove file school_data2alter database schooladd log file(name=rizhi,filename='E:\a\rizhi.ldf',size=3mb,maxsize=50mb,filegrowth=5mb)4、使用sql语句在数据库school中添加和删除一个数据文件。
数据库原理SQLServer实验指导书数据库系统原理实验一、基本操作实验实验1:数据库的定义实验本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。
本实验的内容包括:l)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,为主码建索引。
3)查看和修改表结构。
4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法具体实验任务如下。
1.基本提作实验1)使用Enterpriser Manager建立图书读者数据库2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。
3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,版次);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期人)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和Default Value(缺省值)等列级数据约柬。
4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey (主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约柬,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check(检查)约束。
2.提高操作实验建立学生_课程库操作,在查询分析器中用SQL命令实现。
库中表结构为:Student(sno,sname,sage,ssex,sdept):course(cno,cname,cpno,ccredit);sc(sno,cno,grade)。
数据库SQL实验操作答案1、创立数据库:创立一个教学管理数据库,以自己的名字拼音首字母+下划线+SC作为库名〔如名字叫张三,那么:ZC_SC〕,〔1〕确定数据库名称;数据库用于学生管理,命名为如ZS_SC〔2〕确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。
〔3〕确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。
〔4〕确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。
请利用查询分析器〔Query Analyzer〕,使用SQL语句指定参数创立数据库,给出实现代码和截图。
实现代码及截图样例: SQL语句: create database CYR_SC on primary ( name='CYR_SC_DATA', filename='E:\\CYR_SC_DATA.MDF', size=30MB, filegrowth=20% ) log on ( name='CYR_SC_LOG',filename='E:\\CYR_SC_LOG.LDF', size=3mb, filegrowth=1mb )……………查询分析器执行情况: SQL语句及执行结果截图显示 2、创立根本表:〔注意:请在表名前加上自己的姓名拼音的首字母,主键前加上自己的姓名拼音的首字母,例如张三为ZC_〕其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。
创立:student表(学生信息表)、course表〔课程信息表)、teacher表〔教师信息表)、student _course表〔学生选课成绩表)、teacher_course表〔教师上课课表〕等。
请利用查询分析器,使用SQL语句将下面各表建立到教学管理数据库中。
写出SQL语句〔注意级联删除设置〕,查看各数据表之间的关系,画出实体关系图〔ER图〕。
实验三用T-SQL编辑修改数据库数据一、实验目的熟练掌握在查询分析器中执行INSERT,UPDATE,DELETE语句来实现数据的添加、修改、删除等操作。
二、操作示例1.使用INSERT语句向表中添加数据。
1)向mydatabase数据库的kcxxb表添加下列新记录(插入所有列):use mydatabasegoinsert kcxxb values (‘046110’,‘多媒体应用技术’,70,4)select * from kcxxb --显示结果2)向xsxxb表添加记录(插入部分列):use mydatabasegoinsert xsxxb (xh,xm,csrq,address)values('04651020','黄小烽','1983-7-6','40-203')select * from xsxxb --查询显示结果3)创建一个与xsxxb表结构一样的空表aa,并把xsxxb表中性别(xb)列为“女”的记录添加到aa表中。
并查看aa表中的信息。
use mydatabasegoselect * into aa from xsxxb where 1=2 --1=2是永远为假的条件。
insert aa select * from xsxxb where xb= '女'select * from aa --查询显示结果2.UPDATE语句修改数据1)将xscjb表中的成绩(grade)减少3分。
USE mydatabasegoUPDATE xscjb SET grade=grade-32)将kcxxb表中课程名(kcm)为“哲学”的课时(ks)改为54。
Use mydatabaseGoUpdate kcxxb set ks=72 where kcm= '哲学' 3.DELETE语句删除记录1)删除aa表中出生日期(csrq)在1985年以后的记录。
数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。
它允许用户创建,读取,更新和删除数据库中的数据。
常见的数据库管理系统有MySQL,Oracle,SQL Server等。
问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。
以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。
2. 运行安装程序,按照向导的指示进行安装。
3. 选择是否要安装MySQL 服务器和MySQL工具。
4. 设置密码以保护数据库的安全。
5. 完成安装程序并启动MySQL服务。
数据库是一个组织和存储数据的容器。
在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。
每行代表一个记录,每列代表一个字段。
问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。
常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。
问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。
ODBC驱动程序充当应用程序和数据库之间的翻译器。
问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。
在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。
在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。
具体步骤如下: 1. 加载ODBC接口库。
2. 初始化ODBC环境。
3. 建立数据库连接。
4. 执行SQL语句。
5. 关闭数据库连接。
6. 释放ODBC环境。
问题九ODBC接口库是一组API函数,用于连接和操作数据库。
数据库中SQL查询语句习题含答案查询问题:设教学数据库Education 有三个关系:学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME )(1)检索计算机系的全体学生的学号,姓名和性别;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名;(4)检索选修课程号为C2或C4的学生学号;(5)检索至少选修课程号为C2和C4的学生学号;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;(8)查询所学课程包含学生S3所学课程的学生学号。
(1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM SWHERE Sdept =’CS ’;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名本查询涉及到学号、姓名和课程名三个属性,分别存放在S 和C 表中,但S 和C 表没有直接联系,必须通过SC 表建立它们二者的联系。
C → SC → S 基本思路:(1)首先在C 表中找出“DS ”课程的课程号Cno ;(2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ;(3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。
SELECT Sno ,Sname FROM SWHERE Sno IN (SELECT Sno FROM SCWHERE Cno IN (SELECT Cno FROM CWHERE Cname=‘DS ’));(4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SCWHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2和C4的学生学号; SELECT SnoFROM SC X ,SC YWHERE X.Sno=Y.Sno AND/doc/d33e82944b7302768e9951e79b89680202d86b33.html o=‘C2’ AND /doc/d33e82944b7302768e9951e79b89680202d86b33.html o=‘C4’;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;在表S 中找学生,要求这个学生学了全部课程。
SQL语句练习及参考答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(SQL语句练习及参考答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为SQL语句练习及参考答案的全部内容。
SQL 语句练习1。
设学生选课数据库有关系S (sno ,sname ,age ,sex )、SC (sno ,cno ,grade )和C (cno,cname,teacher ),分别表示学生、选课和课程,sno 代表学号,sname 代表学生姓名,age 代表年龄,sex 代表性别,grade 代表成绩,cno 代表课程号,teacher 代表任课教师。
试完成表示下列查询。
(1)检索年龄大于21的男学生学号(sno )和姓名(sname)。
(2)建立性别只能为“男”、“女"的约束。
(3)创建一个视图v1,该视图用来查询学生的选课情况,要求包含:学生姓名(sname),课程名(cname),任课教师teacher 和成绩grade 。
(4)检索选修课程号为k1和k5的学生学号(sno ). (5)检索全部学生都选修的课程的课程号(cno)和课程名(cname )。
(6)删除所有男同学的选课记录。
1。
(1)select sno ,snae from s where sex=’男' and age 〉21(2)alter table s add constraint c1 check sex in (‘男’,’女')(3)create view v1 as select sname ,cname,teacher,grade from s ,sc ,c where s 。
实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。
二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。
五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)课程信息表(course)选课信息表(sc)insert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update studentset Sname='李咏'where Sname='李勇'3.修改课程“数据处理”的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程“1”的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程“大学英语”的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。
二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解数据库查询;2.了解数据库查询的实现方式;3.完成实验报告;五、实验内容及步骤以数据库原理实验4数据库中数据为基础,请使用T-SQL 语句实现以下操作:1.列出所有不姓刘的所有学生;1.select *from studentwhere Sname not like '刘%'2.列出姓“沈”且全名为3个汉字的学生;select *from student1where Sname like'沈__'3.显示在1985年以后出生的学生的基本信息;select *from studentwhere YEAR(GETDATE())-Sage>19854.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”;select 性别=casewhen Ssex='男' then'男生'when Ssex='女' then'女生'else '条件不明'end,Sno 学号,Sname 码,Sage 年龄,Sdept 院系from student5.查询出课程名含有“数据”字串的所有课程基本信息;select *from coursewhere Cname like '%数据%'7.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;6.select Sno,Sname,Ssex,Sage,Sdeptfrom studentwhere Sno like '_______[1,2,3,4,9][1,2,3,4,9]%'8.列出选修了‘1’课程的学生,按成绩的降序排列;select student.*,sc.*from student,scwhere student.Sno =sc.Sno and o='1'order by Grade DESC9.列出同时选修“1”号课程和“2”号课程的所有学生的学号;select Snofrom scwhere Cno='1' and Sno in(select Snofrom scwhere Cno='2'10.列出课程表中全部信息,按先修课的升序排列;select *from courseorder by Cpno Asc11.列出年龄超过平均值的所有学生名单,按年龄的降序显示;select *from studentwhere Sage>(select AVG(Sage)from student)order by Sage DESC12.按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;select Sno 学号,Sname 姓名,Ssex 性别,YEAR(GETDATE ())-Sage 出生年份,Sdept 所在院系from studentorder by YEAR(GETDATE ())-Sage13.按照院系降序显示所有学生的“院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;select Sdept=casewhen Sdept='CS' then '计算机系'when Sdept='IS' then '信息系'when Sdept='MA' then '数学系'when Sdept='EN' then '外语系'when Sdept='CM' then '中医系'when Sdept='WM' then '西医系'else '条件不明'end ,Sno,Sname,Ssex,Sagefrom studentorder by Sdept DESC14.显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”,若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;select Sdept ,院系规模=casewhen COUNT(Sno)>=5 then'规模很大'when COUNT(Sno)>=4then'规模一般'when COUNT(Sno)>=2then'规模稍小'else '规模很小'endfrom studentwhere Sdept is not Nullgroup by Sdept15.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;select Sno,Cno,Gradefrom scwhere Grade between 70 and 80order by Cno,Grade DESC16.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;select count(*)学生总人数,AVG(Sage) 平均年龄from student17.显示选修的课程数大于3的各个学生的选修课程数;select Sno 学号,COUNT(Sno)选修课程数from scgroup by Snohaving COUNT(*)>=318.按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;use studentselect Cno '课程号',COUNT(*)'总人数',MAX(Grade)'最高分',MIN(Grade)'最低分',AVG(Grade)'平均分'from scgroup by Cnoorder by Cno desc19.显示平均成绩大于“200515001”学生平均成绩的各个学生的学号、平均成绩;use studentselect Sno '学号',AVG(Grade)'平均成绩'from scgroup by Snohaving AVG(Grade)>(select AVG(Grade)from scwhere Sno='200515001')20.显示选修各个课程的及格的人数、及格比率;use studentselect Cno'课程号' ,COUNT(*)'及格人数',cast(cast(COUNT(case when Grade>=60 then 1 end)as float)/COUNT(*)AS float(1))'及格率'from scgroup by Cno21.显示选修课程数最多的学号及选修课程数最少的学号;use studentselect Sno '学号',COUNT(*)'选修课程数'from scgroup by Snohaving COUNT(Cno)>=all( select COUNT(*)from scgroup by Sno)unionselect Sno '学号',COUNT(*)'选修课程数'from scgroup by Snohaving COUNT(Cno)<=all( select COUNT(*)from scgroup by Sno)22.显示各个院系男女生人数,其中在结果集中列标题分别指定为“院系名称、男生人数、女生人数”;select Sdept ,COUNT(case when Ssex='女'then 1 end)'女生人数',COUNT(case when Ssex='男'then 1 end)'男生人数'from studentgroup by Sdept,Ssex23.列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;select Sno学号,AVG(Grade)平均成绩from scgroup by Snohaving COUNT(case when Grade<60 then 1 end)>=2实验六:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。