数据库sql面试题及答案Word格式.docx

上传人:b****6 文档编号:21568729 上传时间:2023-01-31 格式:DOCX 页数:13 大小:25.42KB
下载 相关 举报
数据库sql面试题及答案Word格式.docx_第1页
第1页 / 共13页
数据库sql面试题及答案Word格式.docx_第2页
第2页 / 共13页
数据库sql面试题及答案Word格式.docx_第3页
第3页 / 共13页
数据库sql面试题及答案Word格式.docx_第4页
第4页 / 共13页
数据库sql面试题及答案Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库sql面试题及答案Word格式.docx

《数据库sql面试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《数据库sql面试题及答案Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

数据库sql面试题及答案Word格式.docx

selectcustomer.id,sum(order.revener)fromorder,customerwherecustomer.id=customeridgroupbycustomer.id

selectcustomer.id,sum(order.revener)fromcustomerfulljoinorderon(order.customerid=customer.id)groupbycustomer.id

5数据库(10)

atabelcalled“performance”contain

nameandscore,please用

sql语言表述

如何选出score最high的一个(仅有一个)

仅选出分数,selectmax(score)fromperformance

仅选出名字,即选出名字,又选出分数:

selecttop1score,namefromperorderbyscore

selectname1,scorefromperwherescorein/=(selectmax(score)fromper)

.....

4有关系s(sno,sname)c(cno,cname)sc(sno,cno,grade)

1问上课程db的学生no

selectcount(*)fromc,scwhereame=dbando=o

selectcount(*)fromscwherecno=(selectcnofromcwhere

ame=db)

2成绩最高的学生号

selectsnofromscwheregrade=(selectmax(grade)fromsc)

3每科大于90分的人数

selectame,count(*)fromc,scwhereo=oand

sc.grade90groupbyame

selectame,count(*)fromcjoinscono=oand

数据库笔试题

*

建表:

dept:

deptno(primarykey),dname,loc

emp:

empno(primarykey),ename,job,mgr,sal,deptno

*/

1列出emp表中各部门的部门号,最高工资,最低工资

selectmax(sal)as最高工资,min(sal)as最低工资,deptnofromempgroupbydeptno;

2列出emp表中各部门job为clerk的员工的最低工资,最高工资

selectmax(sal)as最高工资,min(sal)as最低工资,deptnoas部门号fromempwherejob=clerkgroupbydeptno;

3对于emp中最低工资小于1000的部门,列出job为clerk的员工的部门号,最低工资,最高工资

selectmax(sal)as最高工资,min(sal)as最低工资,deptnoas部门号fromempasb

wherejob=clerkand1000(selectmin(sal)fromempasawherea.deptno=b.deptno)groupbyb.deptno

4根据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资

selectdeptnoas部门号,enameas姓名,salas工资fromemporderbydeptnodesc,salasc

5写出对上题的另一解决方法

(请补充)

6列出张三所在部门中每个员工的姓名与部门号

selectename,deptnofromempwheredeptno=(selectdeptnofromempwhereename=张三)

7列出每个员工的姓名,工作,部门号,部门名

selectename,job,emp.deptno,dept.dnamefromemp,deptwhereemp.deptno=dept.deptno

8列出emp中工作为clerk的员工的姓名,工作,部门号,部门名

selectename,job,dept.deptno,dnamefromemp,deptwhere

9对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外键为mgr)selecta.enameas姓名,b.enameas管理者fromempasa,empasbwherea.mgrisnotnullanda.mgr=b.empno

10对于dept表中,列出所有部门名,部门号,同时列出各部门工作为clerk的员工名与工作

selectdnameas部门名,dept.deptnoas部门号,enameas员工名,jobas工作fromdept,emp

wheredept.deptno*=emp.deptnoandjob=clerk

11对于工资高于本部门平均水平的员工,列出部门号,姓名,工资,按部门号排序

selecta.deptnoas部门号,a.enameas姓名,a.salas工资fromempasawherea.sal(selectavg(sal)fromempasbwherea.deptno=b.deptno)orderbya.deptno

12对于emp,列出各个部门中平均工资高于本部门平均水平的员工数和部门号,按部门号排序

selectcount(a.sal)as员工数,a.deptnoas部门号fromempasa

wherea.sal(selectavg(sal)fromempasbwherea.deptno=b.deptno)groupbya.deptnoorderbya.deptno

13对于emp中工资高于本部门平均水平,人数多与1人的,列出部门号,人数,按部门号排序

selectcount(a.empno)as员工数,a.deptnoas部门号,avg(sal)as平均工资fromempasa

where(selectcount(c.empno)fromempascwherec.deptno=a.deptnoandc.sal(selectavg(sal)fromempasbwherec.deptno=b.deptno))1groupbya.deptnoorderbya.deptno

14对于emp中低于自己工资至少5人的员工,列出其部门号,姓名,工资,以及工资少于自己的人数

selecta.deptno,a.ename,a.sal,(selectcount(b.ename)fromempasbwhereb.sala.sal)as人数fromempasa

where(selectcount(b.ename)fromempasbwhereb.sala.sal)5数据库笔试题及答案

第一套

一.选择题

1.下面叙述正确的是ccbad______。

a、算法的执行效率与数据的存储结构无关

b、算法的空间复杂度是指算法程序中指令(或语句)的条数

c、算法的有穷性是指算法必须能在执行有限个步骤之后终止

d、以上三种描述都不对

2.以下数据结构中不属于线性数据结构的是______。

a、队列b、线性表c、二叉树d、栈

3.在一棵二叉树上第5层的结点数最多是______。

a、8b、16c、32d、15

4.下面描述中,符合结构化程序设计风格的是______。

a、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

b、模块只有一个入口,可以有多个出口

c、注重提高程序的执行效率d、不使用goto语句

5.下面概念中,不属于面向对象方法的是______。

a、对象b、继承c、类d、过程调用

6.在结构化方法中,用数据流程图(dfd)作为描述工具的软件开发阶段是___bdbca___。

a、可行性分析b、需求分析c、详细设计d、程序编码

7.在软件开发中,下面任务不属于设计阶段的是______。

a、数据结构设计b、给出系统模块结构c、定义模块算法d、定义需求并建立系统模型

8.数据库系统的核心是______。

a、数据模型b、数据库管理系统c、软件工具d、数据库

9.下列叙述中正确的是______。

a、数据库是一个独立的系统,不需要操作系统的支持b、数据库设计是指设计数据库管理系统c、数据库技术的根本目标是要解决数据共享的问题d、数据库系统中,数据的物理结构必须与逻辑结构一致10.下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。

a、内模式b、外模式c、概念模式d、逻辑模式11.visualfoxpro数据库文件是__dcbaa____。

a、存放用户数据的文件b、管理数据库对象的系统文件

c、存放用户数据和系统的文件d、前三种说法都对

12.sql语句中修改表结构的命令是______。

a、modifytableb、modifystructurec、altertabled、alterstructure

13.如果要创建一个数据组分组报表,第一个分组表达式是部门,第二个分组表达式是性别,第三个分组表达式是基本工资,当前索引的索引表达式应当是______。

a、部门+性别+基本工资b、部门+性别+str(基本工资)

c、str(基本工资)+性别+部门d、性别+部门+str(基本工资)

14.把一个项目编译成一个应用程序时,下面的叙述正确的是______。

a、所有的项目文件将组合为一个单一的应用程序文件

b、所有项目的包含文件将组合为一个单一的应用程序文件

c、所有项目排除的文件将组合为一个单一的应用程序文件

d、由用户选定的项目文件将组合为一个单一的应用程序文件

15.数据库db、数据库系统dbs、数据库管理系统dbms三者之间的关系是______。

a、dbs包括db和dbmsb、dbms包括db和dbs

c、db包括dbs和dbmsd、dbs就是db,也就是dbms

16.在选项对话框的文件位置选项卡中可以设置_baaba_____。

a、表单的默认大小b、默认目录

c、日期和时间的显示格式d、程序代码的颜色

17.要控制两个表中数据的完整性和一致性可以设置参照完整性,要求这两个表______。

a、是同一个数据库中的两个表b、不同数据库中的两个表

c、两个自由表d、一个是数据库表另一个是自由表

18.定位第一条记录上的命令是______。

a、gotopb、gobottomc、go6d、skip

19.在关系模型中,实现关系中不允许出现相同的元组的约束是通过______。

a、候选键b、主键c、外键d、超键

20.设当前数据库有10条记录(记录未进行任何索引),在下列三种情况下,当前记录号为1时;

eof()为真时;

bof()为真时,命令?

recn()的结果分别是______。

a、1,11,1b、1,10,1c、1,11,0d、1,10,0

21.下列表达式中结果不是日期型的是__ccbba____。

a、ctod(2000/10/01)b、{^99/10/01}+365c、val(2000/10/01)

d、date()

【篇二:

sql数据库面试题目及其答案】

答:

触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。

它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。

可以联级运算。

如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

2.什么是存储过程?

用什么来调用?

答:

存储过程是一个预编译的sql语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。

如果某次操作需要执行多次sql,使用存储过程比单纯sql语句执行要快。

可以用一个命令对象来调用存储过程。

3.索引的作用?

和它的优点缺点是什么?

索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。

它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。

索引可以是唯一的,创建索引允许指定单个列或者是多个列。

缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

3。

什么是内存泄漏?

一般我们所说的内存泄漏指的是堆内存的泄漏。

堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。

当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?

为什么?

我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。

其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。

最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。

5.什么是事务?

什么是锁?

事务就是被绑定在一起作为一个逻辑工作单元的sql语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。

为了确保要么执行,要么不执行,就可以使用事务。

要将有组语句作为事务考虑,就需要通过acid测试,即原子性,一致性,隔离性和持久性。

锁:

在所以的dbms中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。

与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。

当然锁还分级别的。

6.什么叫视图?

游标是什么?

视图是一种虚拟的表,具有和物理表相同的功能。

可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。

对视图的修改不影响基本表。

它使得我们获取数据更容易,相比多表查询。

游标:

是对查询出来的结果集作为一个单元来有效的处理。

游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。

可以对结果集当前行做修改。

一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

7.为管理业务培训信息,建立3个表:

s(s#,sn,sd,sa)s#,sn,sd,sa分别代表学号,学员姓名,所属单位,学员年龄

c(c#,cn)c#,cn分别代表课程编号,课程名称

sc(s#,c#,g)s#,c#,g分别代表学号,所选的课程编号,学习成绩

(1)使用标准sql嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?

答案:

selects#,snfromswheres#in(selects#fromc,scwherec.c#=sc.c#andcn=’税收基础’)

(2)使用标准sql嵌套语句查询选修课程编号为’c2’的学员姓名和所属单位?

selectsn,sdfroms,scwheres.s#=sc.s#andsc.c#=’c2’

(3)使用标准sql嵌套语句查询不选修课程编号为’c5’的学员姓名和所属单位?

selectsn,sdfromswheres#notin(selects#fromscwherec#=’c5’)

(4)查询选修了课程的学员人数

select学员人数=count(distincts#)fromsc

(5)查询选修课程超过5门的学员学号和所属单位?

selectsn,sdfromswheres#in(selects#fromscgroupbys#havingcount(distinctc#)5)

【篇三:

数据库面试题】

pclass=txt>

1、如何查找和删除数据库中的重复数据

法一:

用groupby语句此查找很快的

selectcount(num),max(name)fromstudent–查找表中num列重复的,列出重复的记录数,并列出他的name属性

groupbynum

havingcount(num);

1–按num分组后找出表中num列重复,即出现次数大于一次

deletefromstudent(上面select的)

这样的话就把所有重复的都删除了。

—–慎重

2、说一下数据表设计要遵守的三范式是什么?

除了这些你觉得数据表的设计还要注意哪些规则?

1、无重复列,实际上就是一个表中一个列不允许有多值属性、复合属性或者嵌套的表,即列的值域必须是原子值,表必须有主键。

2、属性完全依赖于主键[消除部分子函数依赖]。

第二范式其实是在第一范式上的扩展,所以第二范式必须符合第一范式,表中列不存在部分函数依赖。

3、属性不依赖于其它非主属性[消除传递依赖]。

第三范式是在第二范式的基础上进行的扩展,所以必须符合第二范式且表中不存在传递依赖。

3、写一个sql存储过程,建立一个表user字段是姓名,年龄,职位,权限,然后向里面插入6条数据,然后查询出年龄大于18的所有信息。

createtableuser(

namevarchar(20),

ageint,

positionvarchar(20)

quanxianvarchar(20)

insertintouservalues(‘111’,11,’11111’,’1111111’)

insertintouservalues(‘112’,12,’11112’,’1111112’)

insertintouservalues(‘113’,13,’11113’,’1111113’)

insertintouservalues(‘114’,14,’11114’,’1111114’)

insertintouservalues(‘115’,15,’11115’,’1111115’)

insertintouservalues(‘116’,16,’11116’,’1111116’)

createprocedureselectuser

as

select*fromuserwhereage18

4、1.你对哪种数据库最熟悉?

使用该数据库多少年?

简单描述对该数据库的理解.

sql,适合中小型企业使用

2.对其它较熟悉的商业数据库的了解及使用年限.

3.如何将数据库(实例)备份和还原?

(针对自己最熟悉的)

sql,在企业管理器上右点要备份或还原的数据,从所有任务选择备份或还原。

4.如何知道一个表或视图的结构?

查询系统表sysobjects

5.描述innerjoin的功能和已在何种情况下使用innerjoin.

内联接是用比较运算符比较要联接列的值的联接,连接的2个表都要满足、

5、存储过程和sql语句的优缺点

存储过程的优缺点:

优点:

1.由于应用程序随着时间推移会不断更改,增删功能,t-sql过程代码会变得更复杂,storedprocedure为封装此代码提供了一个替换位置。

2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划--实际上是microsoftsqlserver为在存储过程中获取由t-sql指定的结果而必须采取的步骤的记录。

)缓存改善性能。

?

?

..但sqlserver新版本,执行计划已针对所有t-sql批处理进行了缓存,而不管它们是否在存储过程中,所以没比较优势了。

3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量t-sql语句的代码流量。

4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用(rpc)处理服务器上的存储过程而提高性能。

rp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1