文档详情

实验3数据库 数据查询.doc

发布:2016-12-04约字共9页下载文档
文本预览下载声明
实验三 数据查询 一、实验目的 关系数据库的查询语句是SQL语言中最灵活的部分,必须仔细体会,多多上机练习,才能真正体会和理解其中的奥妙和细微差别。本实验的目的就是让同学们通过练习掌握常用的查询语句和查询技巧。 请同学们反复练习,即使做对了也要抽时间再一次细细体会。 二、实验预习 1、SQL中查询语句格式: select[all|distinct]目标列表达式[```] from where group by列名[having条件表达式] order by列名[asc|desc] 2、连接查询有哪些不同的连接方式?有什么特点。 等值于非等值连接查询:连接运算符为=号时为等值连接,使用其他运算符称为非等值连接 自身连接:连接操作不仅可以在两个表之间进行,也可以在一个表与其自己进行连接 外连接:把舍弃的元组也保存在结果关系中,其他属性上填空值 复合条件连接:where中使用多个连接谓词 三、实验内容和要求 在实验二建立的数据库和数据表(Student、SC、Course)的基础上,用SQL语句完成下列查询,并在SQL SERVER中得以验证: 1、查询全体学生的基本信息。(请写出两种方法) select * from student; 或 select Sno,Sname,Saex,Sage,Sdept from student; 2、现需要一个“计算机系”的点名册,点名册上只要学号、姓名、性别三个方面的信息(记得给出别名,好让查询出来的结果容易识别哦)。 Select Sno 学号,Sname 姓名,Ssex 性别 From student; 3、查询“信息系”学生的学号、姓名和出生年份(起个别名,不然查询出来的结果会很难看,不信你试试看,是不是结果表一点规律都没有?)。 select sno 学号,sname 姓名,2013-Sage 出生年份 from student where sdept=’计算机’; 4、查询1号课程不及格的学生学号。查询结果按照考试成绩降序排列。 Select sno From sc Where cno=1 and grade60 Order by grade desc; 5、查询考试有不及格现象的学生的学号。 Select sno From sc Where grade60; 6、查询一下尚有无考试成绩的学生的学号和相应的课程号。 Select sno,cno From sc Where grade=null; 7、查询一下哪些学号的学生,选修了课,但还没有参加考试。 Select sno From sc Where cno!=null and grade=null; 8、将全体学生按年龄升序排序(两种写法)。 Select * From student Order by sage desc; 或 select Sno,Sname,Saex,Sage,Sdept from student order by sage; 9、将全体学生按照系别升序排序,在系名相同的情况下再按照年龄降序排列。 Select * From student Order by sdept,sage desc; 10、查询年龄在20-23岁之间的学生的学号、姓名、性别、系别。查询结果按照系别升序、年龄升序排列。 Select sno,sname,ssex,sdept From student Where sage between 20 and 23 Order by sdept,sage; 11、查询“计算机系”姓“张”的学生的基本信息。 Select * From student Where sname like ‘张%’and sdept=’计算机’; 12、给0905111班出一个学生点名册。要求给出学号、姓名、性别几个方面的信息。(查询结果照学号升序了吗?不然这点名册会有多么那看啊,你自己试试)。 select sno 学号,sname 姓名,ssex 性别 from student order by sno; 13、查询课程名中有“数据库“字样的课程的基本信息。 Select * From course Where cname like ‘数据库%’; 14、查询选修过课程的学生总人数。 Select count(distinct sno) From sc; 15、查询已经选修过课程的学生学号和姓名。 Select sname,sc.sno From student,sc Where student.sno=sc.sno; 16、查询选修了“数据库原理“这门课程的学生学号、姓名、性别、考试成绩。将结果按照成绩降序排列。 Select student.sno,sname,
显示全部
相似文档