24.写出下列每条语句或程序段的功能
    假设存在名为AAA的数据库,包括Students学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score学号 char(8)课程名 varchar(10),成绩 numeric(5,2))两张表。
  1 SELECT *
          FROM Students
          WHERE DATEPART(year,入学日期) =DATEPART(year,GETDATE())
(1 Students表中查询出所有当年(系统时间)入学的学生记录。)
  2 DECLARE @MyNO CHAR(8)
        SET @MyNO='20030001'
        IF (SELECT 专业 FROM Students WHERE 学号=@MyNO)='计算机软件'
          BEGIN
            SELECT AVG(成绩) AS 平均成绩
            FROM Score
            WHERE 学号=@MyNO
          END
      ELSE           
          PRINT '学号为' +@MyNO+'的学生不存在或不属于软件专业'
      GO
(2 首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为@MyNo的学生不存在或不属于软件专业”)
  3 declare @a numeric(5,2)
      set @a=(select avg(成绩) from score)
      select *
        from score
        where 成绩>=@a
( score表中查询出大于等于平均成绩的所有记录。)
  4 declare @a numeric(5,2),@b numeric(5,2)
      set @a=(select max(成绩) from score)
      set @b=(select min(成绩) from score)
      print @a-@b
(求出score表中最高成绩与最低成绩的分数之差。
)
  5 declare @a char(6)
      set @a='刘亮'
      if(exists(select * from students where 姓名=@a))
          print '姓名为'+@a+'的同学存在!'
      else
          print '姓名为'+@a+'的同学不存在!'
(students表中查询姓名为@a的值的同学是否存在,根据不同情况显示出相应信息。)
  6 declare @a char(8)
      set @a='计算机'
      select 计算机专业人数=count(*)
        from students
        where left(专业,3)=@a
( students表中统计出专业名开头为@a的值(即“计算机”)的所有学生人数。)
  sql统计每个系的学生人数7 select year(入学日期) as 入学年份,count(*) as 人数
        from students
        group by year(入学日期)
(students表中分组统计出每个年份入学的学生人数。)
  8 select month(入学日期) as 入学月份,count(*) as 人数
        from students
        group by month(入学日期)
(students表中分组统计出每个月份入学的学生人数。)
  9 select day(入学日期) as 入学日号,count(*) as 人数
        from students
        group by day(入学日期)
( students表中分组统计出每个日号入学的学生人数。)
答案:1 Students表中查询出所有当年(系统时间)入学的学生记录。
    2 首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为@MyNo的学生不存在或不属于软件专业”。
    3 score表中查询出大于等于平均成绩的所有记录。
    4 求出score表中最高成绩与最低成绩的分数之差。
    5 students表中查询姓名为@a的值的同学是否存在,根据不同情况显示出相应信息。
    6 students表中统计出专业名开头为@a的值(即“计算机”)的所有学生人数。
    7 students表中分组统计出每个年份入学的学生人数。
    8 students表中分组统计出每个月份入学的学生人数。
    9 students表中分组统计出每个日号入学的学生人数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。