数据查询实验报告
查询每个同学的学号、姓名和院系。 SELECT stu_id,name,sdept FROM stu_info
查询学号为 2007070103 同学的姓名、性别、籍贯和院系。 SELECT name,sex,address,sdept FROM stu_info WHERE stu_id=2007070103
查询会计学院同学总人数。
SELECT COUNT(*) AS‘学生人数' FROM stu-info
查询学号为 2007070101 同学的各门课程总分。
SELECT COUNT(*) AS‘总分’ FROM stu_grade WHERE stu_id=2007070101
5. GROUP BY 查询每个院系的总人数。
查询每个女同学的学号、姓名和院系,并将结果中各列的标题指定为学号、姓名和 院系。
SELECT stu_id AS’学号’,name AS’姓名’,sdept AS’院系’ FROM stu_info WHERE sex=’女’
查询计算每个同学的年龄。 SELECT stu_id,name,year(getdate())-year(birthday) FROM stu_info
查询所有其籍贯含有“阳”的同学的姓名、性别、籍贯。 SELECT name,sex,address FROM stu_info WHERE address like ‘%阳%’
查询课程编号 001,且成绩在 70~80 之间的同学的学号。 SELECT stu_id FROM stu_grade WHERE grade between 70 and 80
二、实验过程记录(包括实验过程、数据记录、实验现象等) (可加页) 针对 student 数据库中,stu_info 数据表、course_info 数据表和 stu_grade 数据表, 完成下列查询。 1. SELECT 基本使用 查询每个同学的所有数据。
SELECT * FROM stu_info
学 生 实 验 报 告
课程名称 实验项目名称 实验者 学号 商务数据库应用 数据查询 专业班级 实验成绩 批阅教师 实验日期 2012-11-29
一、实验预习报告(实验目的、内容,主要设备、仪器,基本原理、实验步骤等) (可加页) 实验目的 1) 掌握 SELECT 语句的基本语法。 2) 掌握嵌套查询、连接查询的表示。 3) 掌握数据汇总的方法。 4) 掌握 SELECT 语句的 GROUP BYБайду номын сангаас子句的作用和使用方法。 5) 掌握 SELECT 语句的 ORDER BY 子句的作用和使用方法。 实验内容 1) SELECT 语句的基本使用。 2) 嵌套查询、连接查询的基本使用。 3) 数据汇总。 4) GROUP BY 子句和 ORDER BY 子句的使用。
3.
连接查询 查询每个同学的学号、姓名、课程名和成绩信息。 SELECT stu-info.stu-id,name,couse-name,gread FROM stu-info,couse-info,stu-grade WHERE stu-info.stu-id=stu-grade.stu-id and couse-info.couse-id=stu-grade.couse-id
查询入学成绩大于 575 的同学姓名及其选课情况 (包括课程名称、 课程学时和成绩) 。 SELECT ,couse-name,couse-time,gread FROM stu-info,couse-info,stu-grade WHERE stu-info.stu-id=stu-grade.stu-id and couse-info.couse-id=stu-grade.couse-id and mark>575
6. ORDER BY 将各位同学的信息按入学成绩由高到低排列输出。
SELECT * FROM [stu-info] ORDER BY mark
查询每个同学的学号、姓名、课程名和成绩信息,并按成绩由低到高排列输出。 SELECT [stu-info].[stu-id],name,[couse-name],grade FROM [stu-info],[couse-info],[stu-grade] WHERE [stu-info].[stu-id]=[stu-grade].[stu-id] and [couse-info].[couse-id]=[stu-grade].[couse-id] ORDER BY grade ASC
SELECT sdept,COUNT(*) as '总人数' FROM [stu-info] GROUP BY sdept
查询每位同学的平均分。
SELECT [stu-info] .[stu-id],AVG(grade) FROM [stu-info],[stu-grade] GROUP BY [stu-info].[stu-id]
三、实验结果分析(可加页) 通过本次试验,我通过练习 SELECT 语句的基本使用,嵌套查询、连接查询的基本使用, 数据汇总,GROUP BY 子句和 ORDER BY 子句的使用,掌握了以下知识:SELECT 语句的基本语 法,嵌套查询、连接查询的表示,数据汇总的方法,SELECT 语句的 GROUP BY 子句的作用和 使用方法,以及 SELECT 语句的 ORDER BY 子句的作用和使用方法。
查询比会计学院的同学入学分数都高的同学的学号、姓名、专业和院系信息。 SELECT stu_id,name,major,sdept FROM stu_info WHERE mark>ANY (SELECT mark FROM stu_info WHERE sdept=’会计学院’)
AND sdept<>’会计学院’
2.
嵌套查询 查询选修 001 课程的同学的学号、姓名和院系信息。 SELECT stu_id,name,sdept FROM stu_info WHERE stu_id= (SELECT stu_id FROM stu_grade WHERE couse_id=’001’)
查询没有选修 001 课程的同学的学号、姓名和院系信息。 SELECT stu_id,name,sdept FROM stu_info WHERE stu_id not in (SELECT stu_id FROM stu_grade WHERE couse_id=’001’)
4. 数据汇总 查询信息学院同学入学平均分。
SELECT AVG(mark) as‘平均分’ FROM stu-info WHERE sdept=‘信息学院’
查询全体同学的入学最高分和最低分。
SELECT MAX(mark) as‘最高分',MIN(mark) as‘最低分' FROM [stu-info]