数据库原理上机作业实验4,5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:15905125 姓名:吴鑫达班级:计算机一班上机时间:2016/5/13
数据库版本:MS SQL2008R2
上机实验四——SELECT语句基本格式的使用
一、实习目的:
掌握SELECT的基本使用格式,能使用SQL Server对表作简单查询。
二、实习准备:
1. 复习第三章3.4节中SELECT语句的基本使用格式。
2. 复习SQL中五种库函数:AVG、SUM、MAX、MIN、COUNT;
3. 完成习题三第12题中的各项操作的SQL语句。
三、实习内容:
1. 验证习题三第12题中的各项操作的SQL语句。
①找出所有被学生选修了的课程号;
语句:select distinct Cno
From Grade;
截图:
②找出01311班女学生的个人信息;
语句:select*
From Student
Where Ssex='女'and Clno='01311';
截图:
③找出01311班、01312班的学生姓名、性别、出生年份;
语句:(六种)
1)Select Sname,Ssex,[出生年份]=(2016-Sage)
From Student
Where Clno='01312'or Clno='01311';
2)Select Sname,Ssex,[出生年份]=(2016-Sage)
From Student
Where Clno IN('01311','01312');
3)Select Sname,Ssex,’出生年份’=(2016-Sage)
From Student
Where Clno='01312'or Clno='01311';
4)Select Sname,Ssex,”出生年份”=(2016-Sage)
From Student
Where Clno='01312'or Clno='01311';
5)Select Sname,Ssex, (2016-Sage) AS'出生年份'
From Student
Where Clno='01312'or Clno='01311';
6)Select Sname,Ssex, (2016-Sage) AS“出生年份”
From Student
Where Clno='01312'or Clno='01311';
截图:
④找出所有姓李的学生的个人信息;
语句:Select*
From Student
Where Sname like'李%';
截图:
⑤找出学生李勇所在班级的学生人数;
语句:select COUNT(*)as'学生人数'
from Student
where Clno in(
select Clno
from Student
where Sname='李勇'
);
截图:
⑥找出课程名为操作系统的平均成绩、最高分、最低分;语句:select AVG(Gmark)as'平均成绩',
MAX(Gmark)as'最高分',
MIN(Gmark)as'最低分'
from Grade
where Cno in(
select Cno
from Course
where Cname='操作系统'
);
截图:
⑦找出选修了课程的学生人数;
语句:select COUNT(distinct Sno)as' 选修人数' from Grade;
截图:
⑧找出选修了课程操作系统的学生人数;
语句:select COUNT(distinct Sno)as' 选修操作系统的人数' from Grade
where Cno IN(
select Cno
from Course
where Cname='操作系统'
);
截图:
⑨找出2000级计算机软件班的成绩为空的学生姓名
语句:select Sname
from Student
where Sno IN(
select Sno
from Grade
where Gmark=null)and Clno in(select Clno
from Class
where Inyear='2000'AND Speciality ='计算机软件');
截图:
2. 试一下以下语句是否正确:
SELECT eno,basepay,service
FROM salary
WHERE basepay 答:不对,聚合函数(集函数)不应该出现在where 语句中。(3.4.2:带条件关系查询) 四、上机实验收获(感想): 实践是检验真理的唯一标准 五、思考题: 什么情况下需要使用关系的别名?别名的作用范围是什么? 答:在简化书写和子查询的情况下。作用范围:区分先后查询的同一关系区。 上机实验五——SELECT语句高级格式和完整格式的使用一、实习目的: 掌握SELECT语句的嵌套使用方法,能使用SQL Server2000对表作复杂查询。 二、实习准备: 1.复习第三章3.4节中SELECT语句的高级格式和完整格式的使用。 2.了解库函数在分组查询中的使用规则; 3.完成习题三第13、14题中的各项操作的SQL语句。 三、实习内容: 完成以下各项操作的SQL语句: 13. ①找出与李勇在同一个班级的学生信息; 语句:select* from Student where Clno in( select Clno from Student where Sname='李勇')and Sname NOT IN('李勇'); 截图: