课后实训参考答案
单元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
1 / 55
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
2 / 55
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
3 / 55
StuName LIKE '陈%' OR StuName LIKE '黄%' ORDER BY StuName DESC GO --方法 USE XK GO SELECT * FROM Student
WHERE StuName like '[张,陈,黄]%' ORDER BY StuName DESC GO
4 / 55
单元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(*)
5 / 55