实验3  SQL的简单查询功能
实验目的
学会使用MS SQL SERVER 2000的查询分析器完成SQL的简单查询功能,主要包括单表查询的选择、投影、排序、聚集函数、分组等。
知识点拨:
1. 查询语句基本格式:
2. 单表查询;
3. 选择
4. 投影
5. 排序
6. 聚集函数
7. 分组查询
1. 分组查询与选择的比较:
实验内容
1. 掌握SQL查询语句的一般格式;
2. 学会包括选择、投影、排序、聚集函数、分组等的单表查询;
实验步骤
1. 选择数据库JX;
2. 以下查询操作使用查询分析器完成:
(1) 查询所有教师的教工号、姓名和电话号码信息,查询结果列项是中文名;
MODIFY PROJECT f:\shuju库原理\项目1.pjx
set default to F:\shuju库原理
select tno 教师编号,tname 教师姓名 ,photo 教师电话号码;
from teacher
(2) 查询‘计算机’系的所有副教授的基本信息;
from teacher
list
select *;
from teacher;
where porf='副教授'
(3) 查询所有女同学的姓名及所在的系,显示结果不允许重复出现;
select  distinct sname,sdept;
from Student;
where sex=' '
(4) 查询各教师的姓名、教工号及工资按95%发放的信息,并将按95%发放的工资列改名为‘预发95%工资’;
alter table teacher;
add 工资按95发放 charselect distinct from20
列名更改以后:
代码:
alter table teacher rename 工资按95发放 to 预发百分之95工资
list
select * from teacher
(5) 检索计算机系总学分在50100的学生信息,并按学号降序排列;
select * from student,score;
where student.sno=score.sno and sdept='计算机'and degree成绩>=50 and degree成绩<= 100;
order by student.sno desc
(6) 查询修正后的学分(原学分-1)仍然大于3的课程的代号、名称、原先的学分、修正后的学分;
select cno,cname,ccredit学分 from course;
where ccredit学分 in (select ccredit学分 from course;
where ccredit学分-1>=3)
修正后的学分:
update course set ccredit学分=ccredit学分-1
select cno,cname,ccredit学分 from course
(7) 查询课程号不为‘1’、‘4’、或‘7’的课程的信息;
select * from course;
where cno not in('1''4''7')
(8) 查询所有姓‘张’、或‘刘’或‘高’的学生信息;
select * from student;
where sname like '%' or sname like'%' or sname like'%'
(9) 查询每个系有多少个同学;
select sdept,count(sno);
from student;
group by sdept
(10) 查询各课程的平均成绩并按成绩降序排列;
select cno,avg(degree成绩);
from score;
group by cno
(11) 查询有两门课在90分以上的学生学号及90分以上课程数;
select sno,count(cno);
from score group by sno;
having count(*)>=2 and degree成绩>=90
(12) 统计每门课程的选课人数、平均成绩、最高成绩、最低成绩;
select cno,count(sno),avg(degree成绩),max(degree成绩),min(degree成绩);
from score group by cno
(13) 列出课程表中有先行课的课程名。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。