SQL数据库经典面试题(修改笔试题)(有答案)

SQL数据库经典面试题(修改笔试题)(有答案)

28、?数据库:抽出部门,平均工资,要求按部门得字符串顺序排序,不能含有"human resource"部门,employee结构如下:employee_id,employee_name,depart_id,depart_name,wage 答:?select depart_name, avg(wage)fromemployee where depart_name〈〉'humanresource'?group by depart_nameorder by depart_name ---—--——----—-——----—--——-—---———----—————-—-

29、

—-—--—---—-—--————-——--——--——?

给定如下SQL数据库:Test(num INT(4))请用一条SQL语句返回num得最小值,但不许使用统计功能,如MIN,MAX等答:

select top1 num from Test orderbynum

----—-----——-—----———----—---—----—-—-—-———-—-

33、一个数据库中有两个表:——----—-—----—--—--——--—----?

一张表为Customer,含字段ID,Name;

一张表为Order,含字段ID,CustomerID(连向Customer中ID得外键),Re venue;?写出求每个Customer得Revenue总与得SQL语句。

建表create table customer?(ID int primary key,Namechar (10))

go

create table [order]?(ID int primary key,CustomerID int foreign key references customer(id),Reven ue float)

go

--查询?select Customer、ID, sum(isnull([Order]、Revenue,0))?from customer full join [order]on([or der]、custome rid=customer、id)

groupby customer、id

selectcustomer、id,sum(order、revener) fromorder,customer where customer、id=customerid group by customer、id

select customer、id,sum(order、revener)from customer fulljoin order

on(order、customerid=customer、id)group bycustomer、id

5数据库(10)

a tabel called “performance”contain :name andscore,please用SQL语言表述

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

仅选出分数,Select max(score) from performance 仅选出名字,即选出名字,又选出分数:

select top 1score,name fromperorder by scoreselect name1,score from per where score in/=(select max(score)fromper)

、、、、、

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

1 问上课程"db"得学生no

select count(*)from c,scwhere came='db’ and co=scoselect count(*)fromsc wherecno=(select cnofrom c where came=’db')

2成绩最高得学生号

select sno from sc wheregrade=(select max(g

rade)from sc )

3 每科大于90分得人数

select came,count(*)from c,scwhere co=scoand sc、grad e>90 group by came

select came,count(*)from c join sc on co=sco and sc、grade>90group bycame

数据库笔试题

*?建表:

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 e mp groupby deptno;

2 列出emp表中各部门job为'CLERK'得员工得最低工资,最高工资

select max(sal)as 最高工资,min(sal) as 最低工资,deptno as部门号fromempwherejob = 'CLERK' group by deptno;

3对于emp中最低工资小于1000得部门,列出job为’CLERK’得员工得部门号,最低工资,最高工资?select max(sal)as最高工资,min(sal)as最低工资,deptno as 部门号from empas b?where job='CLERK'and 1000〉(select min(sal)from emp as a where a、deptno=b、de ptno) groupby b、deptno

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

select deptno as部门号,ename as姓名,sal as 工资fromemp order by deptno desc,sal asc

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

(请补充)

6 列出’张三'所在部门中每个员工得姓名与部门号?select ename,deptno fromemp wheredeptno =(selectdeptno from emp where ename='张三’)

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

selectename,job,emp、deptno,dept、dnamefrom emp,deptwhereemp、deptno=dept、deptno

8 列出emp中工作为'CLERK'得员工得姓名,工作,部门号,部门名?select ename,job,dept、deptno,dnamefrom emp,deptwhered ept、deptno=emp、deptnoandjob ='CLERK'

9对于emp中有管理者得员工,列出姓名,管理者姓名(管理者外键为mgr)?selec ta、enameas 姓名,b、enameas 管理者fromemp as a,empas b where a、mgrisnot null and a、mgr=b、empno

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

selectdname as 部门名,dept、deptnoas 部门号,ename as 员工名,jobas 工作from dept,emp ?wheredept、deptno*=emp、deptno and job= 'CLE RK’

11对于工资高于本部门平均水平得员工,列出部门号,姓名,工资,按部门号排序select a、deptno as部门号,a、enameas姓名,a、sal as工资fr om empas a?wherea、sal〉(select avg(sal) from emp as bwhere a、deptno=b、deptno)orderbya、deptno

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

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

a?where a、sal〉(select avg(sal)fromemp asbwhere

a、deptno=

b、deptno)group by a、deptnoorder by a、deptno

13对于emp中工资高于本部门平均水平,人数多与1人得,列出部门号,人数,按部门号排序?select count(a、empno)a s员工数,a、deptnoas部门号,avg(sal)as 平均工资from emp as a

where(select count(c、empno) from emp asc where c、deptno =a、deptno and c、sal>(select avg(sal)from empas bwhere c、deptno=b、deptno))>1 groupby a、deptno order by a、deptno

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

select a、deptno,a、ename,a、sal,(select count(b、ename)from empas b where b、sal<a、sal) as人数from emp as a where(select count(b、ename)f rom emp as b where b、sal <a、sal)>5

数据库笔试题及答案

第一套

一、选择题

1、下面叙述正确得就是CCBAD______.

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

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

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

D、以上三种描述都不对

2、以下数据结构中不属于线性数据结构得就是______.A、队列

B、线性表C、二叉树D、栈

3、在一棵二叉树上第5层得结点数最多就是______。A、8 B、16C、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、MODIFYTABLE

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

22、只有满足联接条件得记录才包含在查询结果中,这种联接为______。

A、左联接B、右联接C、内部联接D、完全联接

23、索引字段值不唯一,应该选择得索引类型为______。

A、主索引B、普通索引C、候选索引D、唯一索引

24、执行SELECT0选择工作区得结果就是______。

A、选择了0号工作区

B、选择了空闲得最小号工作区

C、关闭选择得工作区

D、选择已打开得工作区

25、从数据库中删除表得命令就是______。

A、DROP TABLE

B、ALTERTABLE

C、DELETETABLE

D、USE

26、DELETE FROM SWHERE 年龄>60语句得功能就是_BBCCB_____。

A、从S表中彻底删除年龄大于60岁得记录

B、S表中年龄大于60岁得记录被加上删除标记

C、删除S表D、删除S表得年龄列

27、SELECT—SQL语句就是______。

A、选择工作区语句

B、数据查询语句C、选择标准语句D、数据修改语句

28、SQL语言就是______语言。A、层次数据库B、网络数据库C、关系数据库D、非数据库

29、在SQL中,删除视图用______。

A、DROP SCHEMA命令B、CREATE TABLE命令C、DROPVIEW命令D、DROPINDEX命令

30、以下属于非容器类控件得就是______。A、Form B、Label C、page

D、Container

31、将查询结果放在数组中应使用__d____短语。

A、INTOCURSORB、TO ARRAY C、INTO TABLED、INTO ARR AY

32、在命令窗口执行SQL命令时,若命令要占用多行,续行符就是__d____。

A、冒号(:) B、分号(;)C、逗号(,)D、连字符(-)

33、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对于图书管理数据库,查询0001号借书证得读者姓名与所借图书得书名。

SQL语句正确得就是______。

SELECT 姓名,书名FROM借阅,图书,读者WHERE;

借阅、借书证号=”0001"AND;

______

____a__

A、图书、总编号=借阅、总编号AND;

读者、借书证号=借阅、借书证号

B、图书、分类号=借阅、分类号AND;

读者、借书证号=借阅、借书证号

C、读者、总编号=借阅、总编号AND;

读者、借书证号=借阅、借书证号

D、图书、总编号=借阅、总编号AND;

读者、书名=借阅、书名

34、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对于图书管理数据库,分别求出各个单位当前借阅图书得读者人次。下面得SQL 语句正确得就是______。

SELECT单位,______ FROM借阅,读者WHERE;

借阅、借书证号=读者、借书证号a______

A、COUNT(借阅、借书证号)GROUP BY单位B、SUM(借阅、借书证号) GROUPBY 单位

C、COUNT(借阅、借书证号) ORDER BY单位

D、COUNT(借阅、借书证号)HAVING单位

35、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对于图书管理数据库,检索借阅了《现代网络技术基础》一书得借书证号.下面S QL语句正确得就是______.

SELECT借书证号FROM借阅WHERE 总编号=;

______b

A、(SELECT借书证号FROM 图书WHERE书名="现代网络技术基础")

B、(SELECT总编号FROM 图书WHERE 书名=”现代网络技术基础")

C、(SELECT 借书证号FROM 借阅WHERE书名=”现代网络技术基础”)

D、(SELECT 总编号FROM 借阅WHERE 书名="现代网络技术基础”)

二、填空题

36、算法得复杂度主要包括______复杂度与空间复杂度。

37、数据得逻辑结构在计算机存储空间中得存放形式称为数据得______。

38、若按功能划分,软件测试得方法通常分为白盒测试方法与______测试方法。

39、如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人”与实体”设备"之间存在______联系。

40、关系数据库管理系统能实现得专门关系运算包括选择、连接与______。

41、命令?LEN("THISIS MYBOOK")得结果就是______。

42、SQLSELECT语句为了将查询结果存放到临时表中应该使用______短语.

43、多栏报表得栏目数可以通过______来设置。

44、在打开项目管理器之后再打开"应用程序生成器",可以通过按ALT+F2键,快捷菜单与"工具"菜单中得______。

45、数据库系统得核心就是______。

46、查询设计器中得"联接"选项卡,可以控制______选择。

47、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

用SQL得CREATE命令建立借阅表(字段顺序要相同),请对下面得SQL语句填空:

______

48、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),

单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对图书管理数据库,查询由"清华大学出版社"或"电子工业出版社"出版,并且单价不超出20元得书名。请对下面得SQL语句填空: SELECT 书名,出版单位,单价FROM 图书;

WHERE_______AND;

_______

49、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C (20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对图书管理数据库,求共借出多少种图书。请对下面得SQL语句填空:SELECT _______FROM 借阅

第一套题答案

选择题

1-5CCBAD6-10 BDBCA11—15 DCBAA 16-20BAABA21—25 CCBBA26-30 BBCCB 31-35DDAAB填空题

36、时间37、模式或逻辑模式38、黑盒39、一对多或1对多或一对n 或1:N 或1:n或1:n 或1:N或一对m 或1:M 或1:m或1:m 或1:N 40、投影41、15 42、Intocursor或Into cursor

cursorname 43、页面设置或列数44、应用程序生成器45、数据库管理系统或DBMS 46、联接类型或联接条件47、CREATE TABLE借阅(借书证号C(4),总编号C(6),借书日期D(8)) 或CREATABL 借阅(借书证号C(4),总编号C(6),借书日期D(8))或CREATETABLE借阅(借书证号C(4),总编号C(6),借书日期D)或CREATABL 借阅(借书证号C(4),总编号C(6),借书日期D)48、单价〈=20 或(出版单位="清华大学出版社”OR 出版单位="电子工业出版社”)或(出版单位="电子

工业出版社"OR出版单位="清华大学出版社”) 或(出版单位='清华大学出版社' OR出版单位='电子工业出版社’)与(出版单位=”清华大学出版社"OR 出版单位="电子工业出版社") 或(出版单位='清华大学出版社‘) 49、COUNT(DISTINCT总编号)或COUN(DISTINCT总编号)或COUNT(DIST总编号)或COUN(DIST 总编号)

第二套题

一、选择题

1、以下数据结构中不属于线性数据结构得就是______.

A、队列B、线性表C、二叉树D、栈

2、在结构化方法中,用数据流程图(DFD)作为描述工具得软件开发阶段就是______。

A、可行性分析B、需求分析C、详细设计D、程序编码

3、结构化程序设计主要强调得就是______.

A、程序得规模

B、程序得易读性C、程序得执行效率D、程序得可移植性

4、在软件生命周期中,能准确地确定软件系统必须做什么与必须具备哪些功能得阶段就是______.

A、概要设计

B、详细设计C、可行性分析D、需求分析

5、下列关于栈得叙述中正确得就是______。A、在栈中只能插入数据B、在栈中只能删除数据

C、栈就是先进先出得线性表

D、栈就是先进后出得线性表

6、下面不属于软件设计原则得就是______。A、抽象B、模块化C、自底向上D、信息隐蔽

7、对长度为N得线性表进行顺序查找,在最坏情况下所需要得比较次数为______。

A、N+1

B、NC、(N+1)/2 D、N/2

8、视图设计一般有3种设计次序,下列不属于视图设计得就是______.

A、自顶向下

B、由外向内

C、由内向外

D、自底向上

9、下列有关数据库得描述,正确得就是______。A、数据库就是一个DBF 文件B、数据库就是一个关系

C、数据库就是一个结构化得数据集合

D、数据库就是一组文件

10、下列说法中,不属于数据模型所描述得内容得就是______。

A、数据结构

B、数据操作C、数据查询D、数据约束

11、在下面得Visual FoxPro表达式中,运算结果就是逻辑真得就是___

___。

A、EMPTY(、NULL、)

B、LIKE('acd','ac?’)

C、AT('a’,'123abc')D、EMPTY(SPACE(2))

12、表达式VAL(SUBS(”奔腾586",5,1))*Len("visual foxpro")得结果就是______。

A、13、00 B、14。00C、45、00D、65、00

13、以下关于自由表得叙述,正确得就是______。

A、全部就是用以前版本得FOXPRO(FOXBASE)建立得表

B、可以用VisualFoxPro建立,但就是不能把它添加到数据库中

C、自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表

D、自由表可以添加到数据库中,但数据库表不可从数据库中移出成为自由表

14、下面关于数据环境与数据环境中两个表之间得关系得陈述中,______就是正确得。

A、数据环境就是对象,关系不就是对象B、数据环境不就是对象,关系就是对象

C、数据环境就是对象,关系就是数据环境中得对象

D、数据环境与关系均不就是对象

15、在"报表设计器"中,可以使用得控件就是______。

A、标签、域控件与线条

B、标签、域控件与列表框

C、标签、文本框与列表框

D、布局与数据源

16、用二维表数据来表示实体及实体之间联系得数据模型称为______.

A、实体-—联系模型

B、层次模型

C、网状模型D、关系模型

17、用来指明复选框得当前选中状态得属性就是______。A、Selected

B、Caption

C、Value

D、ControlSource

18、使用菜单操作方法打开一个在当前目录下已经存在得查询文件zgjk、qpr后,在命令窗口生成得命令就是____。

A、OPEN QUERY zgjk、qpr

B、MODIFY QUERY zgjk、qpr

C、DO QUERY zgjk、qpr

D、CREATE QUERYzgjk、qpr

19、可以伴随着表得打开而自动打开得索引就是______。

A、单一索引文件(IDX)

B、复合索引文件(CDX)

C、结构化复合索引文件

D、非结构化复合索引文件

20、在数据库设计器中,建立两个表之间得一对多联系就是通过以下索引实现得______。

A、”一方"表得主索引或候选索引,”多方"表得普通索引

B、”一方"表得主索引,"多方”表得普通索引或候选索引

C、”一方"表得普通索引,"多方"表得主索引或候选索引

D、"一方”表得普通索引,"多方”表得候选索引或普通索引

21、下列函数中函数值为字符型得就是______.A、DATE()B、TIME()

C、YEAR()

D、DATETIME()

22、下面对控件得描述正确得就是______。

A、用户可以在组合框中进行多重选择B、用户可以在列表框中进行多重选择C、用户可以在一个选项组中选中多个选项按钮D、用户对一个表单内得一组复选框只能选中其中一个

23、确定列表框内得某个条目就是否被选定应使用得属性就是______。

A、ValueB、ColumnCount C、ListCountD、Selected

24、设有关系R1与R2,经过关系运算得到结果S,则S就是______。

A、一个关系B、一个表单C、一个数据库D、一个数组

25、DBAS指得就是______。A、数据库管理系统B、数据库系统C、数据库应用系统D、数据库服务系统

26、设X=”ABC",Y=”ABCD”,则下列表达式中值为、T、得就是______。A、X=Y B、X==Y C、X$Y D、AT(X,Y)=0

27、在表结构中,逻辑型、日期型、备注型字段得宽度分别固定为______。

A、3,8,10

B、1,6,4

C、1,8,任意

D、1,8,4

28、在标准SQL中,建立视图得命令就是______。

A、CREATESCHEMA命令B、CREATE TABLE命令C、CREATEVIEW命令D、CREATE INDEX命令

29、有关SCAN循环结构,叙述正确得就是______。

A、SCAN循环结构中得LOOP语句,可将程序流程直接指向循环开始语句SCAN,首先判断EOF()函数得真假

B、在使用SCAN循环结构时,必须打开某一个数据库

C、SCAN循环结构得循环体中必须写有SKIP语句

D、SCAN循环结构,如果省略了子句\FOR与WHILE条件子句,则直接退出循环

30、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8))

对于图书管理数据库,要查询所藏图书中,各个出版社得图书最高单价、平均单价与册数,下面SQL语句正确得就是______.

SELECT 出版单位,______,______,______;

FROM 图书管理!图书______出版单位

A、MIN(单价)AVGAGE(单价)COUNT(*)GROUP BYB、MAX(单价) AVG(单价)COUNT(*)ORDER BY

C、MAX(单价)AVG(单价)SUM(*)ORDER BY

D、MAX(单价)AVG(单价) COUNT(*)GROUP BY

31、设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对于图书管理数据库,求CIE单位借阅图书得读者得人数。

下面SQL语句正确得就是______。

SELECT______ FROM借阅WHERE;

借书证号_______

A、COUNT (DISTINCT 借书证号)

IN(SELECT 借书证号FROM读者WHERE单位="CIE”)

B、COUNT(DISTINCT 借书证号)

IN (SELECT 借书证号FROM借阅WHERE 单位="CIE")

C、SUM (DISTINCT 借书证号)

IN (SELECT 借书证号FROM 读者WHERE单位=”CIE")

D、SUM (DISTINCT 借书证号)

IN (SELECT借书证号FOR借阅WHERE 单位=”CIE”)

32、查询订购单号(字符型,长度为4)尾字符就是"1"得错误命令就是______。

A、SELECT * FROM 订单WHERE SUBSTR(订购单号,4)="1”

B、SELECT*FROM 订单WHERE SUBSTR(订购单号,4,1)="1"

C、SELECT *FROM订单WHERE "1"$订购单号

D、SELECT * FROM 订单WHERE RIGHT(订购单号,1)="1"

33、在关系模型中,为了实现"关系中不允许出现相同元组"得约束应使用______.

A、临时关键字

B、主关键字

C、外部关键字

D、索引关键字

34、根据"职工"项目文件生成emp_sys、exe应用程序得命令就是______。

A、BUILD EXE emp_sys FROM 职工

B、BUILD APP emp_sys、exe FROM职工

C、LIKE EXEemp_sys FROM 职工D、LIKE APPemp_sys、e xe FROM 职工

35、当前盘当前目录下有数据库:学院、dbc,其中有"教师"表

与"学院”表。

"教师"表:

"学院”表:

有SQL语句:

SELECT DISTINCT 系号FROM教师WHERE工资>=;

ALL (SELECT 工资FROM 教师WHERE系号="02")

与如上语句等价得SQL语句就是______。

A、SELECTDISTINCT 系号FROM 教师WHERE工资>=;

(SELECTMAX(工资)FROM 教师WHERE 系号=”02")

B、SELECTDISTINCT系号FROM 教师WHERE工资〉=;

(SELECT MIN(工资)FROM 教师WHERE 系号=”02”)

C、SELECTDISTINCT系号FROM 教师WHERE 工资>=;

ANY(SELECT工资FROM教师WHERE系号=”02")

D、SELECT DISTINCT 系号FROM 教师WHERE工资>=;

SOME(SELECT 工资FROM教师WHERE系号=”02”)

二、填空题

36、若按功能划分,软件测试得方法通常分为白盒测试方法与______测试方法.

37、数据库系统得三级模式分别为______模式、内部级模式与外部级模式.

38、在最坏情况下,冒泡排序得时间复杂度为______.

39、在面向对象方法中,信息隐蔽就是通过对象得______性来实现得.

40、关系模型得数据操纵即就是建立在关系上得数据操纵,一般有______、增加、删除与修改四种操作。

41、要把帮助文件设置为复制到硬盘上得Foxhelp、chm文件,需要在”选项”对话框得______选项卡上设置.

42、TIME()得返回值得数据类型就是______类型.

43、在定义字段有效性规则中,在规则框中输入得表达式中类型就是________。

sql面试题及答案

sql面试题及答案 SQL(Structured Query Language)是一种用于管理关系型数据库系 统的标准化语言。在面试过程中,针对SQL的相关问题被广泛应用, 以评估面试者对数据库和SQL的理解程度和能力。以下是一些常见的SQL面试题及其答案,供读者参考。 一、简答题 1. 什么是SQL? SQL是一种用于管理关系型数据库系统的标准化语言。它可以用于 创建数据库、插入、更新、删除和查询数据。 2. SQL语言的分类有哪些? SQL语言可以分为DDL(数据定义语言)、DML(数据操作语言)和DQL(数据查询语言)。 3. DDL和DML的区别是什么? DDL用于定义和管理数据库结构,如创建表、修改表的结构等;DML用于对数据库中的数据进行操作,如增加、修改、删除数据等。 4. 什么是主键? 主键是用于唯一标识表中每一条记录的列或一组列。它具有唯一性 和非空性约束。 5. 什么是外键?

外键是一个表中的列,它与另一个表的主键建立关系。它用于保持 表与表之间的完整性,可以实现关系数据库的特性。 6. 什么是索引? 索引是一种帮助数据库系统快速查找数据的数据结构。它可以加快 数据检索的速度,但会增加数据修改的时间。 7. 请解释SQL中的JOIN操作。 JOIN操作用于将两个或多个表中的数据连接起来,根据某个共同 的列值将它们关联起来。常见的JOIN操作包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。 8. 请解释SQL中的GROUP BY和HAVING操作。 GROUP BY用于将数据按照指定的列进行分组;HAVING则用于 对GROUP BY结果进行过滤,只选择满足条件的分组。 9. 什么是视图? 视图是一个虚拟的表,它是由数据库中的一个或多个表的数据组成的。视图是基于某个或多个表的查询结果,可以简化复杂的查询操作。 二、编程题 1. 如何在表中插入数据? 使用INSERT INTO语句向表中插入数据。例如,INSERT INTO 表 名 (列1, 列2, 列3) VALUES (值1, 值2, 值3)。

sql经典面试题

1.张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联;(SQL) 1)写出建表语句; 答:建表语句如下(mysql数据库): create table s(id integer primary key, name varchar(20)); create table c(id integer primary key, name varchar(20)); create table sc( sid integer references s(id), cid integer references c(id), primary key(sid,cid) ); 2)写出SQL语句,查询选修了所有选修课程的学生; 答:SQL语句如下: select , from s stu where (select count(*) from sc where sid= = (select count(*) from c); 3)写出SQL语句,查询选修了至少5门以上的课程的学生。 答:SQL语句如下: select , from s stu where (select count(*) from sc where sid=>=5; 2.数据库表(Test)结构如下:(SQL) IDNAMEAGEMANAGER(所属主管人ID) 106A30104 109B19104 104C20111 107D35109

112E25120 119F45NULL 要求:列出所有年龄比所属主管年龄大的人的ID和名字 答:SQL语句如下: select from test employee where > (select from test manager where =; 3.有3个表(15分钟):(SQL) Student 学生表 (学号,姓名,性别,年龄,组织部门) Course 课程表 (编号,课程名称) Sc 选课表 (学号,课程编号,成绩) 表结构如下: 1)写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名(3分钟) 答:SQL语句如下: select , from Student stu where (select count(*) from sc where sno= and cno = (select cno from Course where cname=’计算机原理’)) != 0; 2)写一个SQL语句,查询’周星驰’同学选修了的课程名字(3分钟) 答:SQL语句如下: select cname from Course where cno in (select cno from sc where sno=(select sno from Student where sname=’周星驰’)); 3)写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟) 答:SQL语句如下: select , from student stu where (select count(*) from sc where sno= = 5;

SQL经典面试题及答案

SQL经典面试题及答案 1.一道SQL语句面试题,关于group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜负 2005-05-09 2 2 2005-05-10 1 2 ------------------------------------------ create table #tmp(rq varchar(10),shengfu nchar(1)) insert into #tmp values('2005-05-09','胜') insert into #tmp values('2005-05-09','胜') insert into #tmp values('2005-05-09','负') insert into #tmp values('2005-05-09','负') insert into #tmp values('2005-05-10','胜') '负') insert into #tmp values('2005-05-10',insert into #tmp values('2005-05-10','负') 1)select rq, sum(case when shengfu='胜' then 1 else 0 end)'胜',sum ' then 1 else 0 end)'负' from #tmp group (case when shengfu='负 by

常见SQL数据库面试题和答案

常见SQL数据库面试题和答案 常见SQL数据库面试题和答案(一) Student(S#,Sname,Sage,Ssex) 学生表S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别 Course(C#,Cname,T#) 课程表 C#,课程编号;Cname:课程名字;T#:教师编号 SC(S#,C#,score) 成绩表 S#:学号;C#,课程编号;score:成绩 Teacher(T#,Tname) 教师表 T#:教师编号; Tname:教师名字 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select # from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where > and #=#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select #,,count#),sum(score) from Student left Outer join SC on #=# group by #,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select #, from Student

SQL数据库经典面试题修改笔试题有答案

28. 数据库:抽出部门,平均工资,要求按部门的字符串顺序排序,不能含有"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.一个数据库中有两个表: 一X表为Customer,含字段ID,Name; 一X表为Order,含字段ID,CustomerID(连向Customer中ID的外键),Revenue;写出求每个Customer的Revenue总和的SQL语句。 建表create table customer (ID int primary key,Name char(10)) go

sql面试题及答案

sql面试题及答案 sql面试题及答案一 1. 简述索引存取的方法的作用和建立索引的原则 作用:加快查询速度。 原则: (1) 如果某属性或属性组经常出现在查询条件中,考虑为该属性或属性组建立索引; (2) 如果某个属性常作为最大值和最小值等聚集函数的参数,考虑为该属性建立索引; (3) 如果某属性经常出现在连接操作的连接条件中,考虑为该属性或属性组建立索引; 2. 简述数据库的设计过程 数据库设计分为五个阶段: 需求分析:主要是准确收集用户信息需求和处理需求,并对收集的结果进行整理和分析,形成需求说明。 概念结构设计:对用户需求进行综合、归纳、抽象,形成一个与与具体的DBMS无关概念模型(一般为ER模型)。 逻辑结构设计:将概念结构设计的概念模型转化为某个特定的DBMS所支持的数据模型,建立数据库逻辑模式,并对其进行优化,同时为各种用户和应用设计外模式。

物理结构设计:为设计好的逻辑模型选择物理结构,包括存储结构和存取方法等,建立数据库物理模式。 实施和维护:实施就是使用DLL语言建立数据库模式,将实际数据载入数据库,建立真正的数据库。维护阶段是对运行中的数据库进行评价、调整和修改。 3. 什么是内存泄漏? 答案:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。 4. 什么是基本表?什么是视图? 答案:基本表是本身独立存在的表,在 SQL 中一个关系就对应一个表。 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表 5. 试述视图的优点 (1) 视图能够简化用户的操作 (2) 视图使用户能以多种角度看待同一数据; (3) 视图为数据库提供了一定程度的逻辑独立性; (4) 视图能够对机密数据提供安全保护。 6. 所有的视图是否都可以更新?为什么? 答案:不是。

sql数据库面试题及答案

sql数据库面试题及答案 【篇一:sql数据库经典面试题(笔试题)】 =txt>1.一道sql语句面试题,关于group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜负 2005-05-09 2 2 2005-05-10 1 2 ------------------------------------------ create table #tmp(rq varchar(10),shengfu nchar(1)) insert into #tmp values(2005-05-09,胜) insert into #tmp values(2005-05-09,胜) insert into #tmp values(2005-05-09,负) insert into #tmp values(2005-05-09,负) insert into #tmp values(2005-05-10,胜) insert into #tmp values(2005-05-10,负) insert into #tmp values(2005-05-10,负) 1)select rq, sum(case when shengfu=胜 then 1 else 0 end)胜,sum(case when shengfu=负 then 1 else 0 end)负 from #tmp group by rq 2) select n.rq,n.勝,m.負 from ( select rq,勝=count(*) from #tmp where shengfu=胜group by rq)n inner join (select rq,負=count(*) from #tmp where shengfu=负group by rq)m on n.rq=m.rq 3)select a.col001,a.a1 胜,b.b1 负 from (select col001,count(col001) a1 from temp1 where col002=胜group by col001) a,

SQL数据库对于海量数据面试题及答案

本文整理和大家分享一些SQL数据库对于海量数据面试题及答案给大家,很不错哦,喜欢请收藏一下。 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。 s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为)。这样处理后,所有可能相同的url都在对应的小文件()中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中相同的url即可。 s 求每对小文件中相同的url时,可以把其中一个小文件的url存储到hash_set中。然后遍历另一个小文件的每个url,看其是否在刚才构建的hash_set中,如果是,那么就是共同的url,存到文件里面就可以了。 方案2:如果允许有一定的错误率,可以使用Bloom filter,4G内存大概可以表示340亿bit。将其中一个文件中的url使用Bloom filter映射为这340亿bit,然后挨个读取另外一个文件的url,检查是否与Bloom filter,如果是,那么该url应该是共同的url(注意会有一定的错误率)。 2. 有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query 都可能重复。要求你按照query的频度排序。 方案1: s 顺序读取10个文件,按照hash(query)%10的结果将query写入到另外10个文件(记为)中。这样新生成的文件每个的大小大约也1G(假设hash函数是随机的)。 s 找一台内存在2G左右的机器,依次对用hash_map(query, query_count)来统计每个query 出现的次数。利用快速/堆/归并排序按照出现次数进行排序。将排序好的query和对应的query_cout输出到文件中。这样得到了10个排好序的文件(记为)。 s 对这10个文件进行归并排序(内排序与外排序相结合)。 方案2: 一般query的总量是有限的,只是重复的次数比较多而已,可能对于所有的query,一次性就可以加入到内存了。这样,我们就可以采用trie树/hash_map等直接来统计每个query出现的次数,然后按出现次数做快速/堆/归并排序就可以了。

SQL数据库面试题及答案

Student(S#,Sname,Sage,Ssex) 学生表S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别 Course(C#,Cname,T#) 课程表C#,课程编号;Cname:课程名字;T#:教师编号 SC(S#,C#,score) 成绩表S#:学号;C#,课程编号;score:成绩 Teacher(T#,Tname) 教师表T#:教师编号;Tname:教师名字 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student left Outer join SC on Student.S#=SC.S# group by Student.S#,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select Student.S#,Student.Sname from Student where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平'); 6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002'); 7、查询学过“叶平”老师所教的所有课的同学的学号、姓名; select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平')); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2 from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2

SQL面试题目及答案java面试题

SQL面试题目及答案java面试题 学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三数学 89 1 张三语文 80 1 张三英语 70 1 李四数学 90 2 李四语文 70 2 李四英语 80 2 1.计算每个人的总成绩并排名(要求显示字段:姓名,总成绩) 答案:select name,sum(score) as allscore from stuscore group by name order by allscore 2.计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩) 答案:select distinct https://www.360docs.net/doc/b919103800.html,,t1.stuid,t2.allscore from stuscore t1,( select stuid,sum(score) as allscore from stuscore group by stuid)t2where t1.stuid=t2.stuidorder by t2.allscore desc 3.计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最高成绩) 答案:select t1.stuid,https://www.360docs.net/doc/b919103800.html,,t1.subject,t1.score from stuscore t1,(select stuid,max(score) as maxscore from stuscore group by stuid) t2where t1.stuid=t2.stuid and t1.score=t2.maxscore 4.计算每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩) 答案:select distinct t1.stuid,https://www.360docs.net/doc/b919103800.html,,t2.avgscore from stuscore t1,(select stuid,avg(score) as avgscore from stuscore group by stuid) t2where t1.stuid=t2.stuid 5.列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)

SQL数据库面试题目及其答案

1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作 从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2.什么是存储过程?用什么来调用? 答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。 3.索引的作用?和它的优点缺点是什么?答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 3。什么是内存泄漏?答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free 或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。 4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 答:我是这样做的,尽可能使用约束,如check, 主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。 5.什么是事务?什么是锁? 答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。 要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。 锁:在所以的DBMS^,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。 6.什么叫视图?游标是什么?答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。 对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。 游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元

SQL数据库面试题以及答案

SQL数据库面试题以及答案 Student(S#,Sname,Sage,Ssex)学生表 S#:学号 Sname:学生姓名 Sage:学生年龄 Ssex:学生性别 Course(C#,Cname,T#)课程表 C#:课程编号 Cname:课程名称 T#:教师编号 SC(S#,C#,score)成绩表 S#:学号 C#:课程编号 score:成绩 Teacher(T#,Tname)教师表 T#:教师编号: Tname:教师名字 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号 select a.S# from (select S#,score from SC where C#='001')a, (select s#,sco re from SC where c#='002')b Where a.score> b.score and a.s# = b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩 select S#, avg(score) from sc group by S# having avg(score)>60 3、查询所有同学的学号、姓名、选课数、总成绩 select student.S#, student.Sname, count(sc.C#), sum(score) from student le ft outer join SC on student.S# = SC.S# group by Student.S#, Sname

4、查询姓‘李’的老师的个数: select count(distinct(Tname)) from teacher where tname like '李%'; 5、查询没有学过“叶平”老师可的同学的学号、姓名: select student.S#, student.Sname from Student where S# not in (select distinct(SC.S#) from SC,Course,Teacher where sc.c#=course.c# AND teacher.T#=course.T# AND Teahcer.Tname ='叶平'); 6、查询学过“叶平”老师所教的所有课的同学的学号、姓名:select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平')); 7、查询学过“011”并且也学过编号“002”课程的同学的学号、姓名: select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002'); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名: Select S#,Sname from (select Student.S#,Student.Sname,score , (select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') sco re2

SQL经典面试题及答案

1。用一条SQL 语句查询出每门课都大于80 分的学生姓名 name kecheng fenshu 张三语文81 张三数学75 李四语文76 李四数学90 王五语文81 王五数学100 王五英语90 A:select distinct name from table where name not in (select distinct name from table where fenshu<=80) select name from table group by name having min(fenshu)>80 select name from table group by name having count(kecheng)〉=3 and min (fenshu)〉=80 2。学生表如下: 自动编号学号姓名课程编号课程名称分数 1 2005001 张三0001 数学69 2 2005002 李四0001 数学89 3 2005001 张三0001 数学69 删除除了自动编号不同,其他都相同的学生冗余信息 A:delete tablename where 自动编号not in(select min(自动编号) from tablename group by 学号, 姓名,课程编号,课程名称, 分数) 3。面试题:怎么把这样一个表儿 year month amount 1991 1 1.1 1991 2 1.2 1991 3 1.3 1991 4 1.4 1992 1 2。1 1992 2 2。2 1992 3 2.3 1992 4 2。4 查成这样一个结果 year m1 m2 m3 m4 1991 1.1 1。2 1.3 1。4 1992 2。1 2.2 2。3 2。4

sql语句面试题及答案

sql语句面试题及答案 本文将为您提供一些常见的SQL语句面试题,并给出相应的答案。通过阅读本文,您将对SQL语句有更深入的了解,从而在面试中更加 自信。 一、查询相关的面试题 1. 如何用SQL语句查询一张表的所有记录? 答案:使用SELECT语句来查询表中的所有记录,语法为:SELECT * FROM 表名; 2. 如何查询指定条件的记录? 答案:使用SELECT语句的WHERE子句来查询指定条件的记录, 语法为:SELECT * FROM 表名 WHERE 条件; 3. 如何对查询结果进行排序? 答案:使用SELECT语句的ORDER BY子句来对查询结果进行排序,语法为:SELECT * FROM 表名 ORDER BY 列名 ASC/DESC; 4. 如何获取查询结果的前几条记录? 答案:使用SELECT语句的TOP或LIMIT子句来获取查询结果的 前几条记录,语法为:SELECT TOP 数量 * FROM 表名; 或 SELECT * FROM 表名 LIMIT 数量; 5. 如何对查询结果进行分页?

答案:使用SELECT语句的LIMIT子句来实现分页效果,语法为:SELECT * FROM 表名 LIMIT 起始位置, 每页数量; 二、插入、更新和删除相关的面试题 1. 如何插入一条新记录? 答案:使用INSERT INTO语句来插入一条新记录,语法为:INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3); 2. 如何更新已有的记录? 答案:使用UPDATE语句来更新已有的记录,语法为:UPDATE 表名 SET 列名 = 新值 WHERE 条件; 3. 如何删除指定的记录? 答案:使用DELETE FROM语句来删除指定的记录,语法为:DELETE FROM 表名 WHERE 条件; 三、聚合函数相关的面试题 1. 如何计算表中记录的数量? 答案:使用COUNT(*)函数来计算表中记录的数量,语法为:SELECT COUNT(*) FROM 表名; 2. 如何计算某一列的总和? 答案:使用SUM(列名)函数来计算某一列的总和,语法为:SELECT SUM(列名) FROM 表名;

数据库面试题(SQLSERVER)及答案

数据库面试题(SQL2005) 一、选择题(5分一题,共50分) 1、公司A使用SQL Server 2005数据库。来自贸易伙伴的客户数据每天晚上都要导入到客户表。你要确保,在导入的过程中,对于存在的客户数据进行更新、对于不存在的客户数据进行插入。你该怎么做?(B) A. 创建一个FOR触发器。 B. 创建一个INSTEAD OF 触发器。 C. 创建一个 AFTER 触发器。 D. 创建一个 DDL 触发器。 2、你负责维护你们部门SQL Server 2005数据库的调度作业。其中一个作业从多源为报表聚集数据。这个作业每日运行,由多步构成。每一步都为某一特定报表聚集数据。有用户反映一些报表的数据近期没有更新。你要确保即使发生错误,聚合数据作业的每一步也都要执行。那你该如何做?(C) A. 将作业中所有步骤组合成一个每日运行的步骤。 B. 创建一个通知;在每次出现错误时通知你。以便你能及时更正错误,重启作业。 C. 修改失败使要执行的步骤为“转到下一步”。 D. 设置作业重试当前步骤。 3、你要创建一个SQL Server 2005应用程序来存储和管理法律文件。原文件以XML文档存于一文件服务器上。此应用程序用于将文件插入到数据库。此后,这些文档必须能够从数据库中得到,并与原文件保持一致。你要设计一个表去存储这些文档数据,该怎样做?(A) A. 将XML文档存于以nvarchar(max)为数据类型的一列中。 B. 分割此XML文档并将其存储于在一个关系结构中。 C. 将XML文档存于以XML为数据类型的一列中。 D. 将XML文档存于以varchar(8000)为数据类型的一列中。 4、你正在写一个查询,从SQL Server 2005数据库表中返回数据。一些数据存储在关系列中,一些存储在XML数据类型列中。你的查询需要返回一个关系结果集,其中包含关系域中的数据以及XML数据类型列的属性值。你应该使用XML数据类型的哪两个方法?(每一个正确的答案代表方案的一部分。选两项。)(AD) A. the value() 方法。 B. the exist()方法。 C. the query()方法。 D. the nodes()方法。 E. the modify()方法。 5、你配置一个采用默认设置全新安装的SQL SERVER 2005计算机使用TCP/IP协议。公司的安全策略也要求每个服务器都使用防火墙。你发现在本地计算机上可以连接到这个SQL SERVER 实例,但是客户端计算机却不能连接到这个SQL SERVER 实例上。为了找到最有可能导致这个连接问题的原因,你首先应该做?(A) A. 检查防火墙是否打开了1433端口。 B. 检查防火墙是否打开了433端口。

SQL数据库经典面试题(笔试题)

SQL数据库经典面试题(笔试题) 1.一道SQL语句面试题,关于group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜负 2005-05-09 2 2 2005-05-10 1 2 ------------------------------------------ create table #tmp(rq varchar(10),shengfu nchar(1)) insert into #tmp values('2005-05-09','胜') insert into #tmp values('2005-05-09','胜') insert into #tmp values('2005-05-09','负') insert into #tmp values('2005-05-09','负') insert into #tmp values('2005-05-10','胜') insert into #tmp values('2005-05-10','负')

insert into #tmp values('2005-05-10','负') 1)select rq, sum(case when shengfu='胜' then 1 else 0 end)'胜',sum(case when shengfu='负' then 1 else 0 end)'负' from #tmp group by rq 2) select N.rq,N.勝,M.負 from ( select rq,勝=count(*) from #tmp where shengfu='胜'group by rq)N inner join (select rq,負=count(*) from #tmp where shengfu='负'group by rq)M on N.rq=M.rq 3)select a.col001,a.a1 胜,b.b1 负 from (select col001,count(col001) a1 from temp1 where col002='胜' group by col001) a, (select col001,count(col001) b1 from temp1 where col002='负 ' group by col001) b where a.col001=b.col001 2.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B 列,当B列大于C列时选择B列否则选择C列。 ------------------------------------------ select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name 3.面试题:一个日期判断的sql语句? 请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间) ------------------------------------------

相关主题
相关文档
最新文档