SQL数据库试题求解

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:41:41
现有数据库结构及数据如下:
学生表(students)
st_id st_name(姓名) sex(性别)
st001 张杰 男
st002 公孙燕飞 男
st003 王楠 女
st004 王伟 男
st005 李燕纹 女
st006 孙武 男

老师表(teachers)
t_id(主键,编号) t_name(姓名) t_lesson(课程)
t001 张老师 数学
t002 李老师 英语

成绩表(results)
r_id r_fenshu(int) r_stid r_tid
r001 90 st001 t002
r002 68 st005 t001
r003 92 st003 t001
r004 82 st006 t002
r005 70 st002 t002
r006 86 st002 t001
r007 57 st003 t002
r008 76 st006 t001
r009 55 st001 t001
r010 77 st004 t002
r011 58 st005 t002

以上数据库结构中字段未标明具体类型的,皆为varchar类型。

基础题:
1)查询出王伟同学的学生编号。
2)查询出名子第三个字是“燕”字的学生的编号和姓名。
3)查询显示出所有男学生的姓名及其名子的长度。
4)查出数学考试成绩的最低分。
5)查出所有女学生的各科成绩。
6)查出英语考试成绩的平均分。
7)在全部男学生中查询出学生编号最后两名的所有信息,并以学生编号降序显示。

------------------------------------------------------
create table students(st_id varchar(20),st_name varchar(50),sex varchar(10))

insert into students(st_id,st_name,sex)
select 'st001','张杰', '男' union all
select 'st002', '公孙燕飞' ,'男' union all
select 'st003', '王楠', '女' union all
select 'st004', '王伟', '男' union all
select 'st005','李燕纹', '女' union all
select 'st006', '孙武' ,'男'
select *
from students

create table teachers(t_id varchar(20),t_name varchar(50),t_lesson varchar(50))

insert into teachers

select 't001', '张老师' ,'数学' union all
select 't002', '李老师', '英语'

delete from results
create table results(r_id varchar(20),r_fenshu int,r_stid varchar(50),r_tid varchar(50))