数据库 习题及答案

发布时间 : 星期日 文章数据库 习题及答案更新完毕开始阅读

题1 查询全部学生,显示学号和姓名和班级 select 学号,姓名,班级名 from 学生表

题2 查询全部教师,姓名唯一显示 select distinct 教师名 from 授课表

题3 查询全部学生的记录 select *

from 学生表

题4 查询学生的学号;姓名和出生年份,列名用“出生年份”表示 select 学号,姓名,year(入学年份)-年龄 '出生年份' from 学生表

题5 查询学校中的所有院系 select distinct 所在院系 from 学生表

题6 查询软件2班女同学的名单 select *

from 学生表

where 班级名='软件2班' and 性别='女' 题7 查询2002年以前注册的学生 select *

from 学生表

where year(入学年份)<2002

题8 查询每一名教师所教的班级 select distinct 教师名,班级名 from 授课表

题9 查询年龄19岁以下或者女同学的名单 select *

from 学生表

where 年龄<19 or 性别='女'

题10 查询年龄不是19岁同学的名单 select *

from 学生表

where not 年龄=19

题11 查询成绩在80分以上成绩的学生号 select distinct 学号 from 成绩表 where 成绩>80

题12 查询年龄18岁到20岁之间的所有学生名单 select *

from 学生表

where 年龄 between 18 and 20

题13 查询年龄不在18岁到20岁之间的所有学生名单 select *

from 学生表

where not 年龄 between 18 and 20 题14 查询没有先修课的课程号 select 课程号 from 课程表

where 先修课 is null

题15 查询计算机系和国际贸易系学生的学号, 姓名, 性别,所在院系 select 学号, 姓名, 性别,所在院系 from 学生表

where 所在院系 in('计算机','国际贸易')

题16 查询不是电子学系,也不是会计学系学生的学号, 姓名, 性别,所在院系 select 学号, 姓名, 性别,所在院系 from 学生表

where 所在院系 not in('电子学','会计学') 题17 查询所有姓苏的老师 select distinct 教师名 from 授课表

where 教师名 like '苏%'

题18 查询除软件2班外的所有班级名 select distinct 班级名 from 学生表

where not 班级名='软件2班' 题19 查询”苏 ? 步”的老师名 select distinct 教师名 from 授课表

where 教师名 like '苏_步'

题20 查询名字中第二个字为”成”的学生的所在院系,学号和姓名 select 所在院系,学号,姓名 from 学生表

where 姓名 like '_成%'

题21 按照学生所在学院升序列出学生的所在院系;班级名;学号和姓名 select 所在院系,班级名,学号,姓名 from 学生表

order by 所在院系

题22 按照学生入学年份、所在院及学号顺序列出学生信息

select year(入学年份) '入学年份' ,所在院系,学号,姓名,性别,年龄,班级名 from 学生表

order by 入学年份,所在院系,学号

题23 列出2002年1月1日前入学的学生名单,并按入学年份降序显示学生的入学年份;学号;姓名和所在院系

select year(入学年份) '入学年份',学号,姓名,所在院系 from 学生表

where 入学年份<'2002-01-01' order by 入学年份 desc

题24 列出选修了’C801’课程的学生的学号和成绩,查询结果按学号降序排列 select 学号,成绩 from 成绩表

where 课程号='C801' order by 学号 desc

题25 列出课程表的清单,结果按先修课升序显示 select *

from 课程表 order by 先修课

题26 统计总共有多少教师

select count(distinct 教师名) '教师数' from 授课表

题27 统计有多少19岁以上的女同学 select count(*) '19岁以上的女同学数' from 学生表

where 年龄>19 and 性别='女' 题28 列出选修课程的学生人数

select count(distinct 学号) '选修课程的学生人数' from 成绩表

题29 查询学生的最大和最小年龄

select max(年龄) '最大年龄',min(年龄) '最小年龄' from 学生表

题30 分别查询男生和女生的最大和最小年龄

select max(年龄) '男生最大年龄',min(年龄) '男生最小年龄' from 学生表 where 性别='男'

select max(年龄) '女生最大年龄',min(年龄) '女生最小年龄' from 学生表 where 性别='女'

题31 查询选修”C801”课程的学生最高分数、最低分数和平均分数 select max(成绩) '最高分数',min(成绩) '最低分数',avg(成绩)'平均分数' from 成绩表

where 课程号='C801'

题32 列出所有学生年龄的总和及所有学生加一岁后的年龄总和 select sum(年龄)'年龄的总和',sum(年龄+1)'年龄加一岁的总和' from 学生表

题33 列出所有女学生的年龄总和 select sum(年龄) '女生年龄的总和' from 学生表 where 性别='女'

题34 统计成绩表中每一个学生选修了多少门课 select 学号, count(*) '选修门数' from 成绩表 group by 学号

题35 统计男女生各自的人数和平均年龄

select 性别,count(*) '人数',avg(年龄) '平均年龄' from 学生表 group by 性别

题36 列出每一门课的选修人数 select 课程号, count(*) '选修人数' from 成绩表 group by 课程号

题37 列出选修了一门以上课程的学生号及其选修门数 select 学号, count(*) '选修门数' from 成绩表 group by 学号 having count(*)>1

题38 列出学生的课程成绩和所涉及的学生的全部信息 select 学生表.*,课程号,成绩 from 成绩表,学生表

where 学生表.学号=成绩表.学号 题39 列出全部课程先修课的先修课

select A.课程号,B.先修课 '先修课的先修课' from 课程表 A,课程表 B where A.先修课=B.课程号

题40 列出C805课程先修课的先修课

select A.课程号,B.先修课 '先修课的先修课' from 课程表 A,课程表 B

where A.先修课=B.课程号 and A.课程号='C805'

题41 列出学生的课程成绩:要求输出学号,姓名,课程号,和成绩 select 学生表.学号,姓名,课程号,成绩 from 学生表,成绩表

where 学生表.学号=成绩表.学号

题42 列出每位教师所教课程的课程名 select distinct 教师名,课程名 from 授课表,课程表

where 授课表.课程号=课程表.课程号

题43 列出有先修课的先修课的课程号及课程名(专业课) select A.课程号,A.课程名 from 课程表 A,课程表 B

where A.先修课=B.课程号 and B.先修课 is not null 题44 列出没有先修课的课程号及课程名(基础课) select 课程号,课程名 from 课程表

where 先修课 is null

题45 列出有先修课但没有先修课的先修课的课程号,先修课号和先修课名(专业基础课) select A.课程号,A.先修课,B.课程名 '先修课名' from 课程表 A,课程表 B

联系合同范文客服:xxxxx#qq.com(#替换为@)