admin 管理员组

文章数量: 1086019


2024年4月17日发(作者:易语言游戏登录器源码)

数据库sql面试题及答案

【篇一:sql数据库经典面试题(修改笔试题)(有答案)】

部门,平均工资,要求按部门的字符串顺序排序,不能含有human

resource部门,employee结构如下:

employee_id, employee_name,depart_id,depart_name,wage

答:

select depart_name, avg(wage)

from employee where depart_name human resource

group by depart_name order by depart_name

-------------------------------------------------------------------------- 29.

给定如下sql数据库:test(num int(4)) 请用一条sql语句返回

num的最小值,但不许使用统计功能,如min,max等

答:

select top 1 num from test order by num

--------------------------------------------------------------------------

33.一个数据库中有两个表:

一张表为customer,含字段id,name;

一张表为order,含字段id,customerid(连向customer中id的

外键),revenue;

写出求每个customer的revenue总和的sql语句。

建表 create table customer

(id int primary key,name char(10))

go

create table [order]

(id int primary key,customerid int foreign key references

customer(id) , revenue float)

go

--查询

select , sum( isnull([order].revenue,0) )

from customer full join [order]

on( [order].customerid= ) group by

select ,sum(r) from order,customer

where =customerid group by

select , sum(r ) from customer full

join order on( erid= ) group by

5数据库(10)

a tabel called “performance”contain

:name and score,please 用

sql语言表述

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

仅选出分数,select max(score) from performance

仅选出名字,即选出名字,又选出分数: select top 1

score ,name from per order by score

select name1,score from per where score in/=(select

max(score) from per)

.....

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

1 问上课程 db的学生no

select count(*) from c,sc where =db and =

select count(*) from sc where cno=(select cno from c where

=db)

2 成绩最高的学生号

select sno from sc where grade=(select max(grade) from sc )

3 每科大于90分的人数

select ,count(*) from c,sc where = and

90 group by

select ,count(*) from c join sc on = and

90 group by

数据库笔试题

*

建表:

dept:

deptno(primary key),dname,loc

emp:

empno(primary key),ename,job,mgr,sal,deptno

*/

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

select max(sal) as 最高工资,min(sal) as 最低工资,deptno from

emp group by deptno;

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

select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部

门号 from emp where job = clerk group by deptno;

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

工的部门号,最低工资,最高工资

select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部

门号 from emp as b

where job=clerk and 1000(select min(sal) from emp as a where

=) group by

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

号,工资

select deptno as 部门号,ename as 姓名,sal as 工资 from emp

order by deptno desc,sal asc

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

(请补充)

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

select ename,deptno from emp where deptno = (select deptno

from emp where ename = 张三)

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

select ename,job,, from emp,dept

where =

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

select ename,job,,dname from emp,dept where

9 对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外

键为mgr) select as 姓名, as 管理者 from emp

as a,emp as b where is not null and =

10 对于dept表中,列出所有部门名,部门号,同时列出各部门工

作为clerk的员工名与工作

select dname as 部门名, as 部门号,ename as 员工

名,job as 工作 from dept,emp

where *= and job = clerk

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

按部门号排序

select as 部门号, as 姓名, as 工资 from

emp as a where (select avg(sal) from emp as b where

=) order by

12 对于emp,列出各个部门中平均工资高于本部门平均水平的员工

数和部门号,按部门号排序

select count() as 员工数, as 部门号 from emp as a

where (select avg(sal) from emp as b where

=) group by order by

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

部门号,人数,按部门号排序

select count() as 员工数, as 部门号,avg(sal)

as 平均工资 from emp as a

where (select count() from emp as c where

= and (select avg(sal) from emp as b

where =))1 group by order by

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

名,工资,以及工资少于自己的人数

select ,,,(select count() from

emp as b where ) as 人数 from emp as a

where (select count() from emp as b where

)5 数据库笔试题及答案

第一套

一.选择题

1. 下面叙述正确的是ccbad ______。

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

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

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

d、以上三种描述都不对

2. 以下数据结构中不属于线性数据结构的是______。a、队列b、

线性表c、二叉树d、栈

3. 在一棵二叉树上第5层的结点数最多是______。a、8 b、16 c、

32 d、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.

visual foxpro数据库文件是__ dcbaa ____。 a、存放用户数据的

文件 b、管理数据库对象的系统文件

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

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

a、modify table b、modify structure c、alter table d、alter

structure

13. 如果要创建一个数据组分组报表,第一个分组表达式是部门,第

二个分组表达式是性别,第三个分组表达式是基本工资,当前索引

的索引表达式应当是______。

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

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

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

______。

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

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

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

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

15. 数据库db、数据库系统dbs、数据库管理系统dbms三者之间

的关系是______。

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

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

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

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

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

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

求这两个表______。

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

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

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

a、go top b、go bottom c、go 6 d、skip

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

______。

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

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

情况下,当前记录号为1时;eof()为真时;bof()为真时,命令?recn()

的结果分别是______。

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

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

a、ctod(2000/10/01) b、{^99/10/01}+365 c、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分别代表课程编号,课程名称


本文标签: 数据库 部门 数据 使用