课后实训参考答案
单元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 '黄%'
ORDERsqlserver2005安装步骤教程 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.查看“甘蕾”同学选修的课程名、学分、上课时间、志愿号,按志愿号(升序)排序查询结果。