数据库查询实验报告
篇一:数据库数据查询实验报告
    数据库应用设计实验报告
    实验名称:_____  实验3  数据查询______
  实验类型:_________验证型实验_________
  实验环境:指导教师:__  ____ ___
  专业班级:__________计科0802班________
  姓 名:____________ ____________
  学 号:_______  ______ ______
  :________  ______  _
  :_  _ _
  实验地点:____________________________
  实 验 日 期:  XX 年 4  月13日
  实验报告日期:  XX  年 4  月17日
    成绩:__________________________
  一、实验目的
  ? 掌握查询语句的一般格式;
  ? 熟练掌握单表查询、连接查询、集合查询、统计查询和嵌套查询。
  二、实验平台
  PC机,操作系统为windowsXX,SQLseverXX
  三、实验步骤、出现的问题及解决方案(不能解决的将问题列出)
  本次实验同样是在前2次实验的基础上进行的,也就是对上两次做好的实验进行数据查询。其中包括:单表查询,连接查询,嵌套查询和集合查询。上两次的代码就不在这里展示了。
  在数据库“zjs”中完成查询。
  完整代码如下:
    /*查询全体学生的学号与姓名。*/
  select 学号,姓名
  from 学生表;
    /*查询每个学生及其选修课程的情况。*/
  select *
  from 选课表;
  /*查询所有姓“张”的学生的基本情况。*/
  select *
  from 学生表
  where 姓名 like '张%';
    /*查询每一门课的间接先修课(即先修课的先修课)。*/ select first.课程编号,second.先修课
  from 课程表 first,课程表 second
  where first.先修课=second.课程编号;
    /*查询选修了课程名为“数据库”的学生学号、姓名及所在班级的名称。*/
  select 学号,姓名,班级名称
  from 学生表,班级表
  where 学生表.班级编号=班级表.班级编号
  and 学号 in(
  select 学号
  from 选课表
  where 课程编号 in (
  select 课程编号
  from 课程表
  where 课程名='数据库'
  )
  );sql统计每个系的学生人数
    /*查询学生XX15121选修课程的总学分。*/
  SELECT SUM(学分) 总学分
  FROM 课程表,选课表
  WHERE 学号='XX15121' AND 选课表.课程编号=课程表.课程编号
    /*查询各个课程号及相应的选课人数。*/
  SELECT 课程编号,COUNT(学号) 选课人数
  FROM 选课表
  GROUP BY 课程编号
    /*查询选修了五门以上课程的学生学号*/
  SELECT 学号
  FROM 选课表
  GROUP BY 学号
  HAVING COUNT(课程编号)>5;
    /*查询学分为3或4的课程名、课程编号及学分。*/ SELECT 课程名,课程编号,学分
  FROM 课程表
  WHERE 学分 IN (3,4)
    /*查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数。*/
  SELECT 学号,COUNT(课程编号) 课程数
  FROM 选修课
  WHERE 成绩>=90
  GROUP BY 学号
  HAVING COUNT(课程编号)>=2
    /*查询选修了“2”号课程的学生的平均成绩。
  SELECT 学号,AVG(成绩) 平均成绩
  FROM 选课表
  WHERE 课程编号='2'