order by 成绩,课程号。
3. 函数示例。
1) 列举2003学生名单表中现年龄大于27周岁的学生记录:
select 学号,姓名, 出生日期 from 学生名单。
where (year(date())year(出生日期)>27) and 性别='男'
order by 出生日期。
2)列举班级表中’06’ 级各班记录:
select * from 班级。
where left(班级名称,2)='06';
1. count示例。
1)统计学生名单表中入学成绩为456的学生人数:
select count(*)as 人数 from 学生名单。
where 入学成绩=456
2)统计学生名单表中生日为今天的学生人数:
select count(*)as 人数 from 学生名单。
where month(出生日期)=month(date())
and day(出生日期)=day(date())
2. sum示例。
1)计算成绩表中学号为'2005214060'的同学的总成绩:
select sum(成绩) as 总成绩 from 成绩。
where 学号='2005214060'
2)计算成绩表中课程号为'0120729'课程的总成绩:
select sum(成绩) as 总成绩 from 成绩。
where 课程号='0120729'
3. **g示例。
1)计算成绩表中学号为'2005214060'的同学的平均成绩:
select **g(成绩) as 平均成绩 from 成绩。
where 学号='2005214060'
2)计算成绩表中课程号为'0120729'课程的平均成绩:
select **g(成绩) as 平均成绩 from 成绩。
where 课程号='0120729'
4. max/min示例。
1) 找出学生名单表中年龄最大和年龄最小的出生日期:
select max(出生日期) as 最小年龄,min(出生日期) as 最大年龄。
from 学生名单。
2)找出成绩表中课程号为'0120729'课程的最高和最低成绩,并计算其差距:
select max(成绩) as 最高成绩,min(成绩) as 最低成绩,max(成绩)-min(成绩) as 差距
from 成绩 where 课程号='0120729'
1. 分组查询示例。
1)计算学生名单中男、女同学的平均入学成绩:
select 性别,**g(入学成绩) as 平均成绩。
from 学生名单。
group by 性别。
2)计算学生名单中各班的平均入学成绩:
select 班级,**g(入学成绩) as 平均成绩。
from 学生名单。
group by 班级。
3)计算学生名单中各班男、女同学的平均入学成绩:
select 班级,性别,**g(入学成绩) as 平均成绩。
from 学生名单。
group by 班级,性别。
4)计算学生名单中各班人数:
select班级, count(*)as 人数
from 学生名单。
group by 班级。
2. 对分组查询的结果进行选择。
1)计算成绩中各门课程的平均成绩,显示其中平均成绩小于72的记录:
select 课程号,**g(成绩) as 平均成绩。
from 成绩。
group by 课程号。
h**ing **g(成绩)<72
2)显示学生表中人数超过300的姓氏,并按降序排序:
select left(姓名,1) as 姓, count(*)as 人数。
from 学生。
group by left(姓名,1)
h**ing count(*)300
order by count(*)desc
3)显示学生表中同名人数不少于10的姓名:
select 姓名, count(*)as 人数。
from 学生。
group by 姓名。
h**ing count(*)10
order by count(*)
1. 显示学生表中姓“林”的同学的学号及班级:
select 学生。学号,学生。姓名,班级。班级名称。
from 学生,班级。
where 学生。班级号=班级。班级号 and 姓名 like '林*'
2. 显示成绩表中所有课程成绩:
select 成绩。课程号,课程。课程名,成绩。成绩。
from 成绩,课程。
where 成绩。课程号=课程。课程号。
3. 显示学号为“2005218121”的同学选修的全部课程名和成绩:
select 课程。课程名,成绩。成绩。
from成绩,课程。
where 成绩。课程号=课程。课程号 and成绩。学号=’ 2005218121’
4. 显示所有学生的学号、姓名,及所在学院、班级名称:
select 学号,姓名,学院名称,班级名称。
from 学生,班级,学院。
where 学生。班级号=班级。班级号 and 班级。学院编号=学院。学院编号。
5. 显示成绩表中010505班的所有学生姓名、课程名和成绩,并按课程和成绩排序:
select 学生。姓名,课程。课程名,成绩。成绩。
from 学生,成绩,课程。
where 学生。学号=成绩。学号 and 成绩。课程号=课程。课程号。
and 学生。班级号='010505'
order by 课程。课程名,成绩。成绩 desc
6. 显示与成绩表中记录相关的所有学生姓名、学院名称、班级名称、课程名和成绩:
select 学生。姓名, 学院。学院名称, 班级。班级名称,课程。课程名,成绩。成绩
from 学生,班级,学院,成绩,课程。
where 学生。班级号=班级。班级号。
and 班级。学院编号=学院。学院编号。
and 成绩。学号=学生。学号。
and 成绩。课程号=课程。课程号。
1. 显示刘方所在班级的学生学号、姓名:
select 学号,姓名
from 学生。
where 班级号 in (select 班级号 from 学生 where 姓名='刘方')
本例的逻辑描述为:从学生表中找出这些学生的名单,他们所在的班级号与'刘方'所在的班级号相同。
2. 显示与061营销1班属同一个学院的各班名称:
select 学院名称,班级名称。
from 班级,学院。
where 班级。学院编号 in
select 学院编号 from 班级 where 班级名称='061营销1')
and 班级。学院编号=学院。学院编号。
本例的逻辑描述为:从班级表中找出这些班级,它们所属的学院编号与061营销1的学院编号相同。
3. 从学生名单中找出与王彬同生日的学生名单:
select 姓名,班级,出生日期。
from 学生名单。
where 出生日期=(select 出生日期 from 学生名单 where 姓名='王彬')
and 姓名<>'王彬'
本例的逻辑描述为:从学生表中找出这些学生,他们与王彬的出生日期相同,并且排除王彬本人。
4. 显示课程号为'0020265'的考试成绩高于平均该课平均成绩的学生名单:
select 学生。学号,学生。姓名,成绩。成绩。
from 学生,成绩。
where 学生。学号=成绩。学号
and 成绩。课程号='0020265'
and 成绩。成绩》(select **g(成绩) from 成绩 where 课程号 ='0020265')
本例的逻辑描述为:从学生表中找出这些学生,他们参加的考试课程号为'0020265',并且成绩高于该课程的平均成绩。
5. 显示与学号为“2005218029”的同学考同样课程的学生名单:
select 学号,姓名 from 学生。
where
exists
select 学号 from 成绩。
where
课程号 in (select 课程号 from 成绩 where 学号='2005218029')
and 成绩。学号=学生。学号)
and not exists
select 课程号 from 成绩。
where
课程号 not in (select 课程号 from 成绩 where 成绩。学号=学生。学号)
and 学号='2005218029')
本例的逻辑描述为:从学生表中找出这些学生的名单,他们所选的课程都是***同学所选的课程,并且,不存在***所选的课程不是他们所选的课程。
实验4 查询
从本章开始使用任课教师提供的 学生管理 原始数据 accdb 一 实验目的。1 掌握利用设计批视图创建单表和多表的查询。2 掌握利用向导创建查询。3 掌握创建查询的方法。4 掌握使用sql创建查询。5 掌握查询准则的应用。二 实验内容。1 创建不带条件的选择。1 使用向导创建例4.1 查询名称为 例...
实验4 创建查询
实验4 access 2003中创建查询。实验要求目的 1 理解查询的概念和作用。2 熟练掌握使用向导创建查询。3 熟练掌握在设计视图中创建查询。4 理解不同查询种类的作用。实验准备 1 上周完成的实验项目 学生信息管理系统。实验内容 实验内容 1 打开上周实验创建好的学生信息管理系统,为三张表建立...
实验7高级查询
一 实验目的与要求。1 熟练掌握使用t sql语句进行连接查询的方法。2 熟练掌握使用t sql语句进行嵌套查询的方法。二 实验内容与步骤。1 查询机械工程学院总分 mark 大于510分的学生学号 姓名 系部和选修课程的课程号及成绩。利用同等连接实现 2 实现上题 1 中的查询内容。利用内连接实现...