当前位置:首页 » 编程语言 » sql期末考试设计题及其答案
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql期末考试设计题及其答案

发布时间: 2022-08-11 11:53:17

A. 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 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))

insert into results
select 'r001','90', 'st001', 't002' union all
select 'r002', '68', 'st005', 't001' union all
select 'r003', '92', 'st003' ,'t001' union all
select 'r004', '82', 'st006', 't002' union all
select 'r005', '70', 'st002', 't002' union all
select 'r006', '86', 'st002', 't001' union all
select 'r007', '57', 'st003', 't002' union all
select 'r008', '76', 'st006', 't001' union all
select 'r009', '55', 'st001', 't001' union all
select 'r010', '77', 'st004', 't002' union all
select 'r011', '58', 'st005', 't002'
----------------------------------------------------------
1.
select st_id
from students
where 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_id
where s.st_id in (select top 2 st_id from students order by st_id desc)
order by s.st_id desc

8 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 r
where r.r_tid = t.t_id
and s.st_id =r.r_stid
and r.r_fenshu >= 60
and t.t_id in (select t_id from teachers where t_lesson='数学' )
--and t_lesson='数学'
group by t.t_name

2

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 总分 desc

3. 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()

B. 求sql数据库考试题答案

1.create database Readbook
on
(name=Readbook_data,filename='D:\server\Readbook_data.mdf',size=2mb,maxsize=10mb,filegrowth=1mb)
log on
(
name=Readbook_log,
filename='D:\server\Readbook_log.ldf',size=1mb,maxsize=5mb,filegrowth=1mb
)
go
2.use mybase
go
alter database mybase
add log file
(
name=Readbook2_log,
filename='D:\server\mybase2_log.ldf',size=2mb,maxsize=10mb,filegrowth=1mb
)
go
3.alter database mybase
remove file Readbook2_log

C. SQL多项选择题,急求答案,最好有解析

1.答案A,D,E DESC是降序,省略ASC和DESC,默认为升序。
2.答案A,C,D,E 创建视图时不允许在所用SELECT语句中使用ORDER BY、COMPUTE子句
3.C,D,E 执行存储过程时可用WITH RECOMPLE选项进行重新编译;只有当执行存储过程的语句是批处理中的第一个语句,才可以直接通过名称来调用存储过程
4.C,E 使用SQL Server Management Studio不能运行命令行实用程序sqlcmd
5.C,D,F 一个局部变量只能在一个语句批中使用,使用SET语句只能对一个局部变量赋值,刚定义的局部变量的初值为空值
6.B 用户定义函数可以有输入参数和返回值

D. SQL数据库的设计题,T-SQL语言。高分求解答!

1.
use scd
go
create default df_年龄 as '18'
sp_bindefault 'df_年龄','student.年龄'

2.
use scd
go
alter table class
with nocheck /*现有数据不强制这个约束*/
add constraint ck_入学年份
check(入学年份>=2008) /*你的提法“是否”有问题,到底是约束使其小于2008,还是约束使其大于等于2008,这句是指约束使入学年份>=2008,如果输入的值<2008就违反了约束*/

E. 跪求sql程序设计题答案

1 select 姓名,部门名称 from 部门,职工 where 部门.部门号=职工.部门号and 职务=“工程师”
2 update 工资级别 set 小时工资率=小时工资率*(1+5%) where 职务=“工程师”
3 select 职工号,sum(工时) from 施工 group by 职工号 having sum(工时)>40
4 select 部门名称,电话号码 from 部门,职工 where 部门.部门号=职工.部门号 and 姓名=“潘小光”
5 select 部门名称,姓名,项目名称 from 职工,部门,工程,施工 where 部门.部门号=职工.部门号 and 施工.项目号=工程.项目号
6 create sql view 酬金 as select 职工号,姓名,项目名称,工时,小时工资率*工时 from 施工,职工,工程,工资级别 where 施工.项目号=工程.项目号 and
职工.职务=工资级别.职务 and 职工.职工号=施工.职工号

F. 高分求SQL题目答案

*****************
11、smallint是短整形 范围:-32768到32767,它是SQL的数据类型。
12、SQL允许字段为汉字
13、错误
14、正确
15、正确
*****************
3填空题
1、 100 和 C
2、beautiful 和 我心中的太阳
3、选择, 投影、连接
4、6 和 8
5、13.4300 和 13.4570
*****************
4、设计题
问题参照下面网址的【五:设计题】:
http://www.sdwm.cn/xueyuan/jpk/sqljpk/lxtk/stk01.htm

答案参照下面网址【五】:
http://www.sdwm.cn/xueyuan/jpk/sqljpk/lxtk/stkda01.htm
*****************

补充说明:这个网站上的内容不粗的,学习SqlServer可以参照一下,希望你早日成为SqlServer大师。

以上,希望对你有所帮助。

G. SQL期末考试数据库实训相关问题

企业信息表:INT :id --序列型主键自动生成 。VARCHAR :NO--企业编码,name--企业名称,……其它附属信息全部用VARCHAR自己定义把,例如联系方式,地址,联系人,所属地区,备注等等,我只告诉你关键信息。
电价流水信息表:INT :id --序列型主键自动生成,企业信息表_ID外键,---企业信息表ID, DATE--日期,double:电量,电费,
电价单价表:INT :id --序列型主键自动生成,企业信息表_ID外键--企业信息表DI,
日期:年月,double:单价。这个你可以不写,但是我们建模型这个基本都做。
2.,存储过程头你自己写 ,监控电价单价表的添加和修改动作,自己照书操。
SQL: update 电价流水信息表 set 电价流水信息表.电费=电价流水信息表.电量*电价单价表.单价 from 电价单价表 where 电价流水信息表.企业信息表_ID=电价单价表. 企业信息表_ID and
格式化 电价流水信息表。日期为年月=电价单价表.日期
就是更新来源是电价单价表,通过2个关键词更新,一个是企业信息ID,一个是格式化后的日期:年月
3.命名一个变量,查询的时候sum 电量和电费,group by 企业名称,where 里面企业名称=这个变量,
4.其实第三个会写了 ,第四个 应该跟第三个一样啊,只是定义了2个参数,一个是地区一个是年份,我告诉你分月统计的方法,查询里面sum的时候 格式化流水表的日期为 年月格式,GROUP BY 也要包含这个格式化,然后where里面写 格式化日期为年=参数的年

H. SQL期末考试题,来个大神帮解答一下

  1. select fph from mz_brsf

  2. whereje > 200;

  3. 2.select sum(je) from mz_brsf

  4. where sfsj >= '2012-01-01'

  5. and sfsj < '2012-02-01';

  6. 3.delete from mz_bfsf

  7. where cfh is null;

  8. 4.update mz_bfsf

  9. set substr(sfsj,1,4) =2013

  10. where ks ='内科' ;

  11. 5. select ks, sum(je) from mz_bfsf

  12. group by ks

  13. having sum(je) >500;

  14. 6.select top 2 ys,sum(je)

  15. from mz_bfsf

  16. group by ys

  17. order by sum(je) desc;

  18. 7.update a

  19. set a.zc = b.zc

  20. from mz_bfsf a,mz_brxx b

  21. where a.ys = b.ys

I. sql数据库设计题

1.select 学号,姓名 from 学生 where 班级='软件041'
2.select * from 课程 where 课程名称 like '%语言%'
3.select 学生.学号,姓名,班级 from 学生 where 学号 in(
select top 5 学号 from 选课 where 课程号 in(
select 课程号 from 课程 where 课程名称='C语言'
) order by 成绩 desc
)
4.select 班级,count(1) 学生人数 from 学生 group by 班级
5.select 学号 from 选课 where 课程号=(
select 课程号 from 课程 where 课程名称='计算机应用基础'
) 成绩>(select 成绩 from 选课 where 学号=(select 学号 from 学生 where 姓名='张三') and 课程号=(
select 课程号 from 课程 where 课程名称='计算机应用基础'
)
)