文档详情

实验四在SQLServer中进行数据查询.doc

发布:2018-01-31约2.27千字共10页下载文档
文本预览下载声明
实验四 在SQL Server中进行数据查询 一、实验目的 1.掌握SELECT语句的基本语法。 2.掌握子查询的应用。 3.掌握连接查询的应用。 4.掌握SELECT语句的统计函数的作用和使用方法。 5.掌握SELECT语句的GROUPBY和ORDERBY子句的作用和使用方法。 二、实验要求 1.了解SELECT语句的基本语法格式。 2.了解SELECT语句的执行方法。 3.了解子查询的表示方法。 4.了解SELECT语句的统计函数的作用。 5.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 三、实验内容: 使用的数据库实验二、实验三、实验四录入数据的学生情况表 Student 课程名称表 Course教师授课表Teach 成绩表Score等四张基本表。 (一)基本查询: 1.(选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。 2.(不选择重复行) 求选修了课程的学生学号。 3.(使用表达式) 求全体学生的学号、姓名和出生年份。 (二)条件查询: 4.(比较大小条件) 求年龄大于19岁的学生的姓名和年龄。 5.(确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。 6.(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。 7.(匹配查询) 求选修课程001或002或003,成绩在70至85之间,学号为04xxx的学生的学号、课程号和成绩。 8.(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。 (三)聚合函数查询: 9.(组函数) 求学生总人数。 10.(组函数) 求选修了课程的学生人数。 11.(组函数) 求选修了课程001的最高、最低与平均成绩。 12.(分组查询) 求各系、各班级的人数和平均年龄。 四、实验编程结果或过程(用截图方式或SQL语句表示,语句用蓝色字体标出) (一)基本查询: 1.(选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。 Select SNO,SNAME,SSEX,SAGE From student 2.(不选择重复行) 求选修了课程的学生学号。 SELECT DISTINCT sno FROM score; 3.(使用表达式) 求全体学生的学号、姓名和出生年份。 SELECT sno,sname,2012-sage FROM student; (二)条件查询: 4.(比较大小条件) 求年龄大于18岁的学生的姓名和年龄。 SELECT sname,sdept,sage FROM student WHERE sage18 AND sdept=CS UNION SELECT sname,sdept,sage FROM student WHERE sage18 AND sdept=IS; 5.(确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。 SELECT sno,sage FROM student WHERE sage BETWEEN 20 AND 22; 6.(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。 SELECT * FROM student WHERE sdept=MA UNION SELECT * FROM student WHERE sdept=CS ORDER BY sdept; 7.(匹配查询) 求选修课程001或002或003,成绩在80至85之间,学号为04xxx的学生的学号、课程号和成绩。 SELECT sno,cno,score FROM score WHERE score BETWEEN 70 AND 85 AND sno LIKE04___ AND cno=001 OR cno=002 OR cno=003 ; 8.(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。 SELECT SNO,CNO FROM Score WHERE SCORE IS NULL (三)聚合函数查询: 9.(组函数) 求学生总人数。 SELECT COUNT(SNO) AS 学生总人数 FROM Student 10:(组函数) 求选修了课程的学生人数。 SELECT COUNT(DISTINCT SNO) AS 选修人数 FROM Score 11:(组函数) 求选修了课程001的最高、最低与平均成绩。 SELECT MAX(SCORE) AS MAX,MIN(SCORE)AS MIN, AVG(SCORE)AS AVG FROM Score WHERE CNO=001 12:(分组查询) 求各系、各班级的人数和平均年龄。 SELECT SDEPT ,SCLASS,COUNT
显示全部
相似文档