数据库单表查询

一、实验目的

  1. 掌握SELECT语句的基本语法和查询条件表示方法;

  2. 掌握查询条件表达式和使用方法;

  3. 掌握GROUP BY 子句的作用和使用方法;

  4. 掌握HAVING子句的作用和使用方法;

  5. 掌握ORDER BY子句的作用和使用方法。

二、实验环境

已安装SQL Server 2005 企业版的计算机(13台);

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

  1. 了解数据库查询;

  2. 了解数据库查询的实现方式;

  3. 完成实验报告;

五、实验内容及步骤

以数据库原理实验6数据库中数据为基础,请使用T-SQL 语句实现以下操作:

  1. 列出所有不姓刘的所有学生;(not like)

    1
    2
    3
    select *
    from s
    where 姓名 not like '刘%'
  2. 列出姓“张”且全名为3个汉字的学生;(张__下滑线表示任意一个字符)

    1
    2
    3
    select *
    from s
    where 姓名 like '张__'
  3. 显示在2000年以后出生的学生的基本信息;

    1
    2
    3
    select *
    from s
    where 年龄<=(2018-2000)
  4. 查询出课程名含有“数据”字串的所有课程基本信息

    1
    2
    3
    select *
    from c
    where 课程名 like '数据%'
  5. 列出选修了‘101’课程的学生,按成绩的降序排列;

    1
    2
    3
    4
    select *
    from sc
    where 课程号='101'
    order by 成绩 desc
  6. 列出课程表中全部信息,按先修课的升序排列;

  7. 按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及所在系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,所在系”;

    1
    2
    3
    select 学号,姓名,性别,(2018-年龄) as 出生年份,所在系
    from s
    order by 出生年份 asc
  8. 按照院系降序显示所有学生的 “所在系,学号、姓名、性别、年龄”等信息,其中所在系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为JZ显示为建筑系,其他显示为院系不明;参考例句

    1
    2
    3
    4
    5
    6
    7
    8
    select  姓名,所在系,学号,院系英文书写=case
    when 所在系='计算机系' then 'CS'
    when 所在系='信息系' then 'IS'
    when 所在系='艺术系' then 'AS'
    when 所在系='会计系' then 'KS'
    end
    from s
    order by 院系英文书写 DESC

显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”, 若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;(参考例句,同学们,适当增加、删除记录,观察结果)

1
2
3
4
5
6
7
select 所在系,COUNT(学号) 人数,院系规模=case
when COUNT(学号)>=7 then '大规模'
when COUNT(学号)>=5 and COUNT(学号)<7 then '中等'
when COUNT(学号)<5 then '小规模'
end
from s
group by 所在系
  1. 按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;

  2. 显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;

  3. 显示选修的课程数大于3的各个学生的选修课程数;

  4. 按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;

  5. 显示各个所在系男女生人数,其中在结果集中列标题分别指定为“所在系名称、男生人数、女生人数”;

  6. 列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;

六、出现问题及解决办法

如:某些查询操作无法执行,如何解决?


本站由 VITAN 使用 Stellar 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。