SQL数据库试题求解

作者&投稿:杭典 (若有异议请与网页底部的电邮联系)
SQL数据库考试试题,求高手解答~

SQL SERVER 数据库应用技术第二版(张浦生主编)课后习题答案,谁有急求!
浏览次数:29次悬赏分:0 | 离问题结束还有 12 小时 | 提问者:普罗旺斯987 | 检举
还能输入 9999 字
插入图片插入地图
参考资料:匿名回答
提交回答
回答 共2条
自己做吧
追问
可是不会呢
回答
问我呀
追问
你会啊,告诉我吧,千恩万谢
回答者: sytdeedee | 六级 | 2011-6-14 13:25 | 检举
凌吧!不给人积分就想要答案 啊
追问
你是谁啊

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

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

3 .显示出所有男学生的姓名应该会吧 len(“数据”)是长度
10.用update更新 直接+法运算

1. +条件 Where r_fenshu>60 求和用SUM select Sum(*) from ("数值") where ...
2. MAX是最大植
3. delete * from 表 where ("数据")=""

自己先看看

(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) from students where sex='男'
(4)select min(r_fenshu) from results where r_tid ='t001'
(10) update results set r_fenshu=r_fenshu+10 where r_stid in (select st_id from students where sex='女')
进阶(1)select count(*) from (select * from teachers,results where teachers.t_id=results.t_id and teachers.t_lesson='数学' and results.r_fenshu>60) aa

太多了

基础题
3. select st_name,length(st_name) from students;

10. update results set fenshu = fenshu + 10
where r_stid in (select st_id from students where sex = '女');

进阶题
1. select st.count(*),t.t_name
from students st,teachers t,results r
where t.t_id = 't001'
and r.r_tid = t.t_id
and s.st_id =r.r_stid
and r.r_fenshu >= 60
group by t.t_name;

2. select t.t_lesson,max(sum(r.r_fenshu)),t.t_id,t.t_name
from teachers t,results r
where t.t_id = r.r_tid
group by t.t_lesson,t.t_id,t.t_name

3. 没想出来明天继续想 呵呵

选做题第一题会比用户表多出一个表
以下语句在sqlserver2000中通过
进阶题
1.select count(r.r_id) number,t.t_name tname from results r, teachers t where r.r_fenshu >= 60 and t.t_lesson = '数学' and t.t_id = r.r_tid group by t.t_name
2.select top 1 t.t_id,t.t_name,t.t_lesson,sum(r.r_fenshu)
from results r,teachers t
where r.r_tid = t.t_id
group by t.t_name,t.t_id,t.t_lesson
3. delete from results where r_stid in (select r_stid from results group by r_stid having count(r_tid) = 1)

选做题
1.select name from sysobjects where xtype='U'
2.select top 5 * from students order by newid()

基础题:
1)查询出王伟同学的学生编号。
select st_id from students where st_name like '王伟'

2)查询出名字第三个字是“燕”字的学生的编号和姓名。
select st_id from students where st_name like '__燕%'

3)查询显示出所有男学生的姓名及其名字的长度。
select st_name, len(st_name) 名字长度 from students where sex like '男'

4)查出数学考试成绩的最低分。
select min(r_fenshu) 最低分 from results

5)查出所有女学生的各科成绩。
select st_name, t_lesson, r_fenshu
from results join students on r_stid = st_id
join teachers on r_tid = t_id
where sex like '女'

6)查出英语考试成绩的平均分。
select avg(r_fenshu) 英语平均分
from results join teachers on r_tid = t_id
where t_lesson like '英语'

7)在全部男学生中查询出学生编号最后两名的所有信息,并以学生编号降序显示。
select top 2 * from students order by st_id desc

8)统计出王楠同学在这次考试中的所有课程成绩的合计分。
select sum(r_fenshu) 王楠合计分
from results join students on r_stid = st_id
where st_name like '王楠'

9)查询所有课程考试中成绩及格,但未达到90分的学生的姓名。(不显示重复姓名)
select distinct st_name from students where not exists
(select * from results where r_stid = st_id and
(r_fenshu < 60 or r_fenshu >= 90))

10)给所有女学生的考试成绩每科加10分。
update results set r_fenshu = r_fenshu + 10
where r_stid in (select st_id from students where sex like '女')

进阶题:
1)统计出数学考试的及格人数,并显示出授课老师的姓名。
select count(distinct st_id) 数学及格人数, t_name 授课老师
from results join students on r_stid = st_id
join teachers on r_tid = t_id
where t_lesson like '数学' and r_fenshu >= 60
group by t_name

2)按课程统计查询出总分合计最多的课程,显示出该课程的名称、总分、授课老师的编号及姓名。
select top 1 t_lesson 课名, sum(r_fenshu) 总分, t_id 编号, t_name 姓名
from results join teachers on r_tid = t_id
group by t_lesson, t_id, t_name
order by 总分 desc

3)在这次的考试中有一个学生缺考了一门课程,根据学校规定,缺考任何一门课程,
该学生的其它课程考试成绩也视同无效,故请用一条SQL语句删除掉此次缺考学生的其它课程考试成绩。
delete from results where r_stid in
(select r_stid from results
group by r_stid having count(*) < (select count(*) from teachers))

选作题:
1)列出数据库里所有的用户表名称。
select name from sysobjects where xtype = 'U'

2)使用一条SQL语句随机从学生表中取出5个学生的信息。
select top 5 * from students order by newid()


QL网名是什么意思?
QL是指Query Language的缩写,意为查询语言。QL还有其他意思,例如嘉鲁梭语词汇表(Quechua Language)和伯明翰科技学院(Queen's Lane)等。但在网络上,QL最常见的含义是查询语言,特别是在数据库管理系统中使用。QL网名常被程序员和数据库管理员使用,因为他们经常使用查询语言来查询和管理数据库。此外...

sql2016怎么打开数据库管理器
ql2016打开数据库管理器步骤如下:1、首先第一步我们点击左下角的开始菜单图标之后,找到所有程序选项,点击选择所有程序,打开查看电脑上的所有程序。2、点击这个所有程序之后,我们找到名称为启动的这个文件夹,打开之后在其中找到服务管理器选项并点击。3、点击打开SqlServer服务管理器之后,我们可以看到其中...

数据库教程的目录
第9章 面向对象数据库OODB9. 1 00DBS的基本概念9. 1. 1 ODMG标准9. 1. 2 OODBS的定义9. 1. 3 OODB的基本概念9. 2 ODMG对象模型9. 2. 1 对象和文字9. 2. 2 接口. 类和继承9. 2. 3 类外延. 关键码和工厂对象9. 3 ODMGODL9. 4 ODMGOQL9. 4. 1 OQL中的SELECT语句9. 4. 2 OQL...

Go 使用 GraphQL - 基础教程
好的,所以在我们深入研究之前,我们应该真正了解 GraphQL 的基础知识。作为开发人员,使用它对我们有什么好处?好吧,考虑使用每天处理数十万甚至数百万请求的系统。传统上,我们会使用位于数据库前面的系统 API,它会返回大量 JSON 响应,其中包含许多我们可能不一定需要的冗余信息。如果我们正在处理大规模...

qlexpress如何搭建界面
可以这样搭建:请在开始运行中输入:sqlwb选择身份验证模式,如果连接的是本机上的数据库选择Windows身份验证模式即可

graphql是什么
可扩展性:GraphQL支持通过扩展字段和自定义类型来适应不断变化的数据需求。这使得API能够适应不断增长的业务需求,同时保持数据的清晰和一致性。集成友好:GraphQL可以与现有的后端技术集成,如RESTful API、数据库等。这使得开发者可以在保留现有技术的基础上,逐步迁移到GraphQL。3. GraphQL的应用场景 Gr...

XML技术与数据库的发展趋势分析
数据库技术及其应用系统经历了从层次数据库 网状数据库到关系数据库以及面向对象数据库的发展 在传统的商业和事务处理领域内逐步成熟 取代了原有的基于文件系统的数据处理方式 成为计算机信息系统中的重要基础和支柱 但随着Internet的飞速发展 Web的出现改变了人们习惯的处理方式 也给数据库技术提出了必须面对的重要问题 ...

sql数据库中,如何将一个表中的多列数字合并为一列
在不同的数据库有不同的方法:在mysql中是使用concat(str1,str2,...).例:SELECT CONCAT('My', 'S', 'QL');结果:MySQL oracle 使用||号.select 'abc' || 'def' from dual;结果:adbdef 一般情况下,我们将由不同栏位获得的资料串连在一起,每一种资料库都有提供方法来达到这个目的:My...

EJB QLejb ql查询语言的基本概念
EJB QL的出现,为ejb容器提供了一套统一的查询语言标准。开发ejb容器时遵循ejb QL,可以确保cmp类型ejb组件中的查询和选择方法生成的数据库操作语句在遵循ejb2.0规范的其他容器中也能被正确执行。这不仅提升了查询语言的功能,更为重要的是,提高了ejb组件的跨平台兼容性和可移植性,显著简化了开发和维护...

一般部署中小型nos ql数据库关系型数据库应用推荐用户使用什么类型的...
一般部署中小型nos ql数据库关系型数据库应用推荐用户使用HHD混合类型的硬盘。从整体的角度上,硬盘接口分为IDE、SATA、SCSI和光纤通道四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而光纤通道只在高端服务器上,价格昂贵。SATA是比较流行的硬盘接口类型,...

额济纳旗18580446040: 求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=...

额济纳旗18580446040: 关于数据库SQL语言编程的一道题目,求解答! -
枝苗曲伏: 查询学生人数:select count(*) from 学生s5门以上学生学号:select sno from (select sno,count(cno) cnum group by 学生选课sc) where cnum>5 删除:delete from 学生课程sc where cno=(select cno from 课程c where 课程姓名cn='数据结构'); delete from 课程c where 课程姓名cn='数据结构';

额济纳旗18580446040: 求解一SQL题目 -
枝苗曲伏: select 购物人 from sale group by 购物人 having count(distinct 商品名称)>=2 这个应该没有错了,我重新运行了一下的,这是我的运行结果: A B 原谅我刚开始没看清楚问题,呵呵

额济纳旗18580446040: 求一道SQL数据库的语句题解答!求SQL专家完全解答!!!! -
枝苗曲伏: use 教师数据库 go/*1、创建教师表*/ create table 教师表( 教师编号 char(6) primary key,姓名 varchar(10) not null,性别 varchar(10) not null,职称 varchar(10),身份证号 varchar(10) unique nonclustered )/*2、创建课程表*/ create table 课程...

额济纳旗18580446040: SQL数据库查询题目求解~~~紧急~~ -
枝苗曲伏: select 产品名称 as 货品名称,单价,库存量,库存量*单价 as 总价格 from 产品; select 厂牌,count(*) from 产品 group by 厂牌;

额济纳旗18580446040: SQL数据库题目解答
枝苗曲伏:2.select sno,sname,major from student where major in(select cno from course where cname='SQL') 3.没有见到有选课表 4.select cname from course where cno not in(select distinct major from student) 5.USE master GO CREATE DATABASE Stu ...

额济纳旗18580446040: 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', '王楠', '女' ...

额济纳旗18580446040: 求SQL题解,试题如下?
枝苗曲伏: 解1:select * from tbName where id_no in(select id_no from tbName group by id_no having count(id_no)>1) 解2:select * into #tmpTb from tbName where id_no in(select id_no from tbName group by id_no) delete tbName insert tbName(id_no,id_name) select id_no,id_name from #tmpTb 说明:我是直接在这里写的,如有关键字拼写错误请自己更正后测试,思路是完全正确的

额济纳旗18580446040: SQL试题求解 -
枝苗曲伏: 1 IF OBJECT_ID('学生表')IS NOT NULL DROP TABLE 学生表 GO create table 学生表 --建立学生表. (学号 int not null , --学号,姓名,年龄,性别,家庭住址,联系电话姓名 varchar(10) not null, --姓名性别 varchar(2)年龄 int,联系电...

额济纳旗18580446040: 求解一道SQL题目
枝苗曲伏: CREATE DATABASE [air] ON PRIMARY (NAME = N'air_Data', FILENAME = N'd:\db\air_Data.MDF' , SIZE = 20, MAXSIZE = 30, FILEGROWTH = 2), (NAME = N'air_data1', FILENAME = N'd:\db\air_data1_Data.NDF' , SIZE = 3, MAXSIZE = 15, ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网