当前位置:首页 » 数据仓库 » sql数据库期末考试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据库期末考试

发布时间: 2022-04-21 13:40:11

数据库期末考试题 编写sql语句 1.创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系

create table 学生表
(
学号 char(10) primary key,
姓名 char(10),
年龄 int,
性别 char(2) check (sex IN ('男','女')),
家庭住址 char(40),
联系 char(20)
)

❷ sql server数据库 考试试题

很基础的东西 自己看看书 慢慢做吧 不然哪有进步

❸ Sql server数据库期末试题 只有选择题和填空题那个会的帮忙做下 没分了直接10QB吧!

1.b 2.a 3. a 4.b 5.b 6.c 7.a 8.c 9.d 10. 11.b 12.b 13.d 14.c 15.c 16.c 17.b 18.不会 19.b
20.b 晕PHP 我不会呀 填空 1.count() 3.删除、修改、更新 4.MAX() MIN() SUM() AVG()

❹ 数据库期末考试

如下 (PS:简单起见全部使用的varchar2 有些按需要可改成int )
[oracle@rhel3 admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Proction on Fri Apr 10 13:21:11 2015

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table student(sno varchar2(10) primary key,sname varchar2(20),ssex char(2),sbirthday varchar2(20),sdept varchar2(20));
Table created.
SQL> create table courses(cno varchar2(10) primary key,cname varchar2(20),ccredit varchar2(10));
Table created.
SQL> create table sc(sno varchar2(10),cno varchar2(10),grade varchar2(10));
Table created.
SQL> alter table sc add constraint pk_sc primary key (sno,cno);
Table altered.

1 select sno,sname from student;
2 select sno,sname,sdept from student;
3 select * from student;
4 select sno,sbirthday from student;
5 select sno,sbirthday,lower(sdept) sdept from student;
6 select sno xingm,sbirthday csrqi,sdept xim from student;
7 select distinct(sno) from student where sno in (select sno from sc where cno in (select cno from courses where cpno is not null));
8 select * from student where sdept='jisuanji';
9 .1 select sname,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianji from student where sbirthday<add_months(sysdate,-12*20);
9.2 select sname,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianji from student where months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12<20;
10 select distinct(sno) from sc where grade<'60';
未完待续......看的真累
11 select sname,sdept,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianlin from student where months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12 between 20 and 30;
12 select sname,sdept,round(months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd')),0)/12 nianlin from student where months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12 <20 or months_between(sysdate,to_date(sbirthday,'yyyy-mm-dd'))/12>30;
13 select sname,ssex from student where sdept in ('xinxi','shuxue','jisuanji');
14 select sname,ssex from student where sdept not in ('xinxi','shuxue','jisuanji');
15 select * from student where sno like '95001%';
16 select sname,sno,ssex from student where sname like 'liu%';
17 select sname from student where sname like 'ouyang%' and length(sname)=6;
18 select sname,sno from sutdent where substr(sname,2,1)='yang';

19 select sname from student where sname not like 'liu%';

20 select cno,ccredit from courses where cname like 'C%';
21 select cno,credit from courses where cname like 'H%' and substr(cname,length(cname)-3,1)='T';
歇会....................
22 select sno,cno from sc where cno in (select cno from courses where cpno is not null) and grade is null;
23 select sno,cno from sc where grade is null;
24 select sname from student where sdept='jisuanji' and (months_between(sbirthday,sysdate)/12)<20;
25 select sname,ssex from student where sdept='jisuanji' or sdept='shuxue' or sdept='xinxi';
26 select sno,grade from sc where cno='3' order by grade desc;
27 select * from student order by sdept asc,sbirthday desc;
28 select count(1) from student;
29 select count(sno) from sc where cno in (select cno from courses where cpno is not null);
30 ...........
PS : courses 那个表好像建表的时候多打了个s

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

❻ 求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

❼ SQL数据库(简单)简答题

Microsoft SQL Server 2000 简答题及其答案
1.在安装SQL Server 2000时,“仅客户端工具”、“服务器和客户端工具”及“仅连接”等安装定义有什么差别?

答:仅客户端工具:仅安装客户端工具。服务器和客户端工具:同时安装服务器和客户端工具。仅连接:仅安装客户端连接。

2.一个数据库中包含哪几种文件?

答:主数据库文件,辅助数据文件,事务日志文件。

3.事务文件和数据文件分开存放有什么好处?

答:因为利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。

4.什么是批处理?使用批处理有何限制?

答:包含一个或多个T-SQL语句的组,从应用程序将一次性发送到SQL Server执行,SQL Server批处理语句作为整体编译成一个可执行单元。

限制:如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月;第二条语句则用来引用这个列,如根据身份证号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。

5.数据检索时,COMPUTE和COMPUTE BY产生的结果有何不同?

答:Compute:第一个为明细行 第二个为聚合函数的合计 Compute by:第一个为明细行第二个为聚合函数的小计

6.什么是索引?索引分为哪两种?各有什么特点?

答:1、数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 2、聚集索引和非聚集索引。

3、聚集索引的特点:行的物理位置和行在索引中的位置是相同的,每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的5%左右。

非聚集索引特点:若未指定索引类型,则默认为非聚集索引,叶节点页的次序和表的物理存储次序不同,每个表最多可以有249个非聚集索引,在非聚集索引创建之前创建聚集索引。

7.创建索引有什么优点和缺点?

答:优点:索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。

使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。

缺点:索引需要占用数据表以外的物理存储空间。创建索引和维护索引要花费一定的时间。当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。

8.什么是视图?使用视图的优点和缺点是什么?

答:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

优点:1隐蔽数据库的复杂性2控制用户提取数据3简化数据库用户管理 4简化查询

缺点:1性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由,一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也,把它变成一个复杂的结合体,需要花费一定的时间。2修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本,表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的,视图,可能是不可修改的。

9. 修改视图中的数据会受到哪些限制?

答:1、必须有权限 2、单表视图直接改

3、多表可在视图中定义 instead of 触发器.

4、对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据

5、对视图上的某些列不能修改,这些列是:计算列,内置函数列和行集合函数列

6、对具有NOT NULL 的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOT NULL 属性的列有值,可以是默认值,IDENTITY 等,否则不能像视图中插入数据行。

7、如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败

8、删除基表并不删除视图,建议采用与表明显不同的名字命名规则

10. 什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?

答:数据完整性是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。

11.数据完整性有哪几类?如何实施?

答:1、数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。

2、数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。

12. 什么是主键约束?什么是惟一约束?两者有什么区别?

答:主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。

唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。

区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。

13.什么是外键,怎样建立外键约束?

答:外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。

14.什么是存储过程?使用存储过程有什么好处?

答:1、是存储在服务器上的 Transact-SQL 语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。

2、存储过程封装了商务逻辑,确保一致的数据访问和修改。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用

屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象

提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限

改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分

减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包

15.什么是触发器?触发器分有什么作用?

答:触发器是一类特殊的存储过程,不能被直接调用,也不传递或接受参数

作用:1、维护不可能在表创建时刻通过声明性约束进行的复杂的完整性约束限制。

2、通过记录所进行的修改以及谁进行了修改来审计表中的信息。

3、当表被修改的时候,自动给其他需要执行操作的程序发信号。

❽ 求助:数据库SQL查询、关系代数(期末考试小题目)

1.select 学号,姓名 from 学生 where 学号 not in (select 学号 from 选课)

2. select 学号,姓名 from 学生 where 学号 in (select 学号 from 选课 where 成绩<60 and 课号=(select 课号 from 课程 where 课名='VB'))

3. select a.学号,b.成绩 from 学生 as a,选课 as b where a.学号=b.学号 amd b.课号 in (select 课号 from 课程 where 学分>3 )

❾ sql数据库任务驱动期末考试

java操作数据库,没找到驱动一般有两个原因:
没有导入jar包,比如连接Oracle数据库,就需要导入Oracle官方提供的驱动包。

加载驱动的时候,Class.forName(String str)中的str写错了。