首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

数据库Sql考试题

2012-07-31 
数据库Sql试题------------------------------------------------------create table students(st_id varc

数据库Sql试题

------------------------------------------------------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 allselect 'st002', '公孙燕飞' ,'男' union allselect  'st003', '王楠', '女' union allselect  'st004', '王伟', '男'  union allselect 'st005','李燕纹', '女' union allselect  '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 allselect 't002', '李老师', '英语' delete   from resultscreate table results(r_id varchar(20),r_fenshu int,r_stid  varchar(50),r_tid varchar(50))insert into resultsselect 'r001','90', 'st001', 't002' union allselect 'r002', '68', 'st005', 't001' union allselect 'r003', '92', 'st003' ,'t001' union allselect 'r004', '82', 'st006', 't002' union allselect 'r005', '70', 'st002', 't002' union allselect 'r006', '86', 'st002', 't001' union allselect 'r007', '57', 'st003', 't002' union allselect 'r008', '76', 'st006', 't001' union allselect 'r009', '55', 'st001', 't001' union allselect 'r010', '77', 'st004', 't002' union allselect 'r011', '58', 'st005', 't002'----------------------1.select st_idfrom studentswhere st_name = '王伟'2.select st_id,st_name from students where st_name like '__燕%'3 select st_name,len(st_name) as 名字长度  from students where  sex ='男'4 select min(r_fenshu) as 最低分数  from teachers t inner join results  r on t.t_id =r.r_tid   where t_lesson ='数学' --这个是不考虑成绩中有null值的5 select s.st_id  as 学生编号,r_fenshu as分数,r_tid  as 课目号  from students s inner join results r on s.st_id =r.r_stid  where s.sex='女' --如果还要课目的名称的话请用下面的 select s.st_id  as 学生编号,r.r_fenshu as 分数,r.r_tid  as 课目号,t.t_lesson as 课目名称  from students s inner join results r on s.st_id =r.r_stid    inner join teachers t on r.r_tid  = t.t_id  where s.sex='女'6 select avg(r.r_fenshu)  from results r inner join teachers t on r.r_tid  = t.t_id   where t.t_lesson='英语'7.select  * from students s inner join results r on s.st_id =r.r_stid                  inner join teachers t on  r.r_tid = t.t_idwhere s.st_id in (select top 2  st_id from students  order by st_id desc)order by s.st_id desc8 select sum(r.r_fenshu) as 总分  from  results r inner join students s on r.r_stid =s.st_id  where s.st_name = '王楠'9.select distinct s.st_id,s.st_name from students s inner join results r on s.st_id = r.r_stid where st_id  not in (select r_stid from  results where r_fenshu<60) and st_id not in (select r_stid from  results where r_fenshu >=90)10 update results   set   r_fenshu = r_fenshu + 10   --如果分数不可能大于100请用这句 set   r_fenshu = case when r_fenshu + 10 <=100 then  r_fenshu + 10  else  100 end   where r_stid in (select st_id from students where sex='女')1  进阶题select t.t_name,count(*)from students s,teachers t,results rwhere r.r_tid = t.t_idand s.st_id =r.r_stidand r.r_fenshu >= 60and t.t_id in (select t_id from teachers where t_lesson='数学' )--and t_lesson='数学'group by t.t_name2      select top 1 sum(r_fenshu) as 总分,t.t_lesson,t_id,t_name     from results r,teachers t     where r.r_tid = t.t_id     group by t.t_lesson,t_id,t_name     order by  总分 desc3. delete from results where r_stid in (select r_stid from results group by r_stid having count(r_tid) = 1)1 选做题 select   d.name  from sysobjects   d   where      d.xtype='U'2.select top 5 * from students order by newid() 

热点排行