SQL数据库原稿文档格式.docx
《SQL数据库原稿文档格式.docx》由会员分享,可在线阅读,更多相关《SQL数据库原稿文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
出现如图所示的对话框,可以默认单击【下一步】按钮继续,如果【默认】复选框不可用,则表示已安装了默认实例,只能安装命名实例。
如图所示,在【安装完成】对话框中单击【完成】,SQLServer安装完成。
实训二
创建“学生成绩”数据库
1、首先利用企业管理器创建一个名为“学生成绩”的数据库,步骤如下:
(1)打开企业管理器,对数据库点右键,弹出新建
USEXSCJ
GO
SELECT课程编号,课程名称,任课教师,上课时间FROM课程信息表
查询结果
2、查找杜晓静同学的选修课密码是什么。
USEXK
SELECTPwdFROMStudent
WHEREStuName='
杜晓静'
3、查询2学分的’Linux操作系统’课程的上课时间。
SELECTCredit,CouName,SchoolTimeFROMCourse
WHERECredit='
2.'
andCouName='
Linux操作系统'
4、检索课程号为’004’、‘007’、‘013’的课程号和课程名称。
SELECT课程编号,课程名称FROM课程信息表
WHERE课程编号IN('
004'
'
007'
013'
)
5、查询student表中有多少同学。
SELECTCOUNT(StuNo)AS'
学生人数'
FROMstudent
GO
6、查询course表的所有信息,并要求显示报名人数占限选人数的百分比。
SELECT*FROMcourse
7、在课程表中查询课程名字中含有S、L、J、A字母的课程信息。
SELECT*FROMcourse
WHERECouNameLIKE'
S%'
ORCouNameLIKE'
L%'
G%'
A%'
8、查询课程表中未输入任课教师的课程信息。
select*from课程信息表
where任课教师isnull
9、使用computeby和groupby显示每名同学的选课情况,并显示每个同学报几门选修课程。
USEXK
SELECT*FROMStuCou
ORDERBYStuNo
COMPUTECOUNT(CouNo)BYStuNo
查询结果
10、在stucou表中显示学号、课程号、志愿号,并统计每个学生所报的选修课程数。
SELECTStuNo,CouNo,RandomNum,WillOrderFROMStuCou
11、检索平均报名人数大于25人的课程类和每类平均报名人数。
SELECTCouNameFROMCourse
WHEREWillNum>
25
12、查询01数据库班级的同学信息。
SELECTStuNo,Student.ClassNo,StuName,Pwd,ClassNameFROMClass,Student
WHEREClass.ClassNo=Student.ClassNoandDepartNo='
01'
13、查询学号在00000001到00000010之间的学生选课信息,包含学号、所选课程号、所选课程名称,学分。
SELECTStuNo,CouNo,CouName,CreditFROMCourse,Student
WHEREStuNoBETWEEN00000001AND00000010
14、向class表中输入一行数据:
“20040001”,“01”,“04数据库”
INSERTINTOClass
VALUES('
20040001'
04数据库'
15、把course表中报名人数超过平均报名人数的‘人文’类课程的课程号、课程名称、课程类别、报名人数生成一个新表itcourse。
SELECTCouNo,CouName,Kind,WillNumINTOItcourseFROMCourse
(SELECTWillNumFROMCourseWHEREKind='
人文'
)
16.把’管理’类课程的课程号、课程名称、课程类别数据插入到表itcourse。
USExk
SELECTCouNo,CouName,KindINTOitcourseFROMCourse
17.学号为’00000002’的同学取消了’中餐菜肴制作’课程的选修,请在表StuCou中把他的选课信息删除。
DELETEFROMStuCou
WHEREStuNo='
00000002'
学号为“00000003”同学希望将已报名的‘水资源利用管理与保护’课程修改为’世界旅游’。
Updatestucou
SetStuNo='
00000003'
WhereCouNo='
003'
18.已知关系模式:
S(SNO,SNAME)学生关系。
SNO为学号,SNAME为姓名C(CNO,CNAME,CTEACHER)课程关系。
CNO为课程号,CNAME为课程名,CTEACHER为任课教师SC(SNO,CNO,SCGRADE)选课关系。
SCGRADE为成绩。
1)找出没有选修过“李明”老师讲授课程的所有学生姓名
2)列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
3)列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
4)列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
5)列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
19问题描述:
为管理岗位业务培训信息,建立3个表:
S(S#,SN,SD,SA),S#,SN,SD,SA分别代表学号、学员姓名、所属单位、学员年龄,C(C#,CN),C#,CN分别代表课程编号、课程名称,SC(S#,C#,G),S#,C#,G
分别代表学号、所选修的课程编号、学习成绩
1)查询选修课程名称为’税收基础’的学员学号和姓名
2)查询选修课程编号为’C2’的学员姓名和所属单位
3)查询不选修课程编号为’C5’的学员姓名和所属单位
4)查询选修全部课程的学员姓名和所属单位
5)查询选修了课程的学员人数
6)查询选修课程超过5门的学员学号和所属单位
实训三
使用Transact-SQL语言编程
1.知道一个人的生日,如何计算出天数?
SELECTDATEDIFF(d,'
1987-3-7'
getdate())days
2.用函数表示77岁的天数是多少?
DECLARE@abigint,@bbigint,@cbigintSET@a=77
BEGINSET@b=@a*365SET@c=@b+@a/4ENDprint@c
3.用函数计算出:
1983年12月21日出生的年龄
SELECTDATEPART(year,GETDATE())-DATEPART(year,cast('
1983-12-21'
ASDATETIME))
4.查询课程表中课程类别是4个字的课程信息
SELECT*FROMCourseWHERECouNameLIKE'
____'
5.查询课程表中课程名称的第3个字是’信’的课程信息。
SELECT*FROMCourseWHERECouNameLIKE'
__信%'
6.利用变量和打印语句显示最大报名人数和最小报名人数。
DECLARE@max_bmrsint,@min_bmrsintSELECT@max_bmrs=MAX(Willnum),
@min_bmrs=MIN(Willnum)FROMCoursePRINT@max_bmrsPRINT@min_bmrs
7.写出计算10!
的程序
DECLARE@intiintDECLARE@sbigintSET@s=1SET@inti=1
WHILE@inti<
11BEGINSET@s=@s*@intiSET@inti=@inti+1ENDPRINT@s
8.写出计算1+2+3+…+10000的程序
DECLARE@sumint,@iintSET@sum=0SET@i=1
WHILE@i<
=10000BEGINSET@sum=@sum+@ISET@i=@i+1ENDPRINT@sum
9.使用Xk数据库,显示班级编码、班级名称和系部名称,当系部编码为01时,显示系部名称为“计算机应用工程系”;
当系部编码为02时,显示系部名称为“建筑工程系”;
当系部编码为03时,显示系部名称为“旅游系”),其它则显示‘其他系’。
要求使用两种方法完成。
实训四创建、管理数据库与表
1.创建名为mydb的数据库,它有1个1MB的数据文件,包含mydb_data为主数据文件和mydb_data2文件,文件大小为5MB,FILEGROWTH增量为15%。
数据库还有2个1MB的事务日志文件mydb_log和mydb_log2。
CREATEDATABASEmydbx
ON
PRIMARY(NAME=mydbx_data,FILENAME='
D:
\mydbx_data.mdf'
SIZE=1MB),
(NAME=mydbx_data2,FIL