37205-00-SQL-Server-2005课后实训参考标准答案.doc
文本预览下载声明
徐人凤 共 PAGE 44 页 第 PAGE 44 页 DATE \@ M/d/yyyy 4/13/2015 PAGE 44 PAGE 44
课后实训参考答案
单元1(SQL Server概述)
1、使用SQL语句。在Sale数据库中创建名为MyDataType的用户定义数据类型,数据类型为NVARCHAR,长度为20,该列允许为NULL。
USE Sale
GO
EXEC sp_addtype MyDataType,NVARCHAR(20),NULL
GO
单元2(单表数据)
使用查询窗口或sqlcmd实施查询。本实训使用Xk数据库。
--1.查看系部编号为“03”
USE Xk
GO
SELECT DepartName
FROM Department
WHERE DepartNo=03
GO
--2.查看系部名称中包含有“工程”两个字的系的全名。
USE Xk
GO
SELECT DepartName
FROM Department
WHERE DepartName LIKE %工程%
GO
--3.显示共有多少个系部。
USE XK
GO
SELECT 系部总数=COUNT(*)
FROM Department
GO
--4.显示“01”
USE XK
GO
SELECT 01 级班级数=COUNT(*)
FROM Class
WHERE ClassNo LIKE 2001%
GO
SELECT 01 级班级数=COUNT(*)
FROM Class
WHERE ClassName LIKE 01%
GO
SELECT 01 级班级数=COUNT(*)
FROM Student
WHERE ClassNo LIKE 2001%
GO
--5.查看在“周二晚”上课的课程名称和教师。
USE XK
GO
SELECT 课程名称=CouName,任课教师=Teacher
FROM Course
WHERE SchoolTime=周二晚
GO
--6.查看姓“张”、“陈”、“黄”同学的基本信息,要求按照姓名降序排序查询结果。
USE XK
GO
SELECT *
FROM Student
WHERE StuName LIKE 张% OR
StuName LIKE 陈% OR
StuName LIKE 黄%
ORDER BY StuName DESC
GO
--方法
USE XK
GO
SELECT *
FROM Student
WHERE StuName like [张,陈,黄]%
ORDER BY StuName DESC
GO
单元2(多表查询)
--1.按系部统计课程的平均报名人数,要求显示系部名称、平均报名人数。
SELECT 系部名称=DepartName,平均报名人数=AVG(WillNum)
FROM Course C,Department D
WHERE C.DepartNo=D.DepartNo
GROUP BY DepartName
GO
--如果小数点后只保留位
SELECT 系部名称=DepartName,平均报名数=CONVERT(DECIMAL(5,2),AVG(WillNum))
FROM Course C,Department D
WHERE C.DepartNo=D.DepartNo
GROUP BY DepartName
GO
--2.统计各个系部的班级数,要求显示系部编号、系部名称和班级数量。
SELECT C.DepartNo,DepartName,COUNT(*)
FROM Class C,Department D
WHERE C.DepartNo=D.DepartNo
GROUP BY C.DepartNo,DepartName
GO
--3.查看“甘蕾”同学选修的课程名、学分、上课时间、志愿号,按志愿号(升序)排序查询结果。
SELECT CouName,Credit,SchoolTime,WillOrder
FROM StuCou SC,Course C,Student S
WHERE SC.CouNo=C.CouNo AND SC.StuNo=S.StuNo AND StuName=甘蕾
ORDER BY WillOrder
GO
--4.查看“00电子商务”班的选修报名情况。要求显示学号、姓名、课程编号、课程名称、志愿号,并按学号(升序)、志愿号排序(升序)。
SELECT S.StuNo,StuName,C.
显示全部