dba面试题目综合整理.docx

上传人:b****2 文档编号:1303860 上传时间:2022-10-20 格式:DOCX 页数:13 大小:26.67KB
下载 相关 举报
dba面试题目综合整理.docx_第1页
第1页 / 共13页
dba面试题目综合整理.docx_第2页
第2页 / 共13页
dba面试题目综合整理.docx_第3页
第3页 / 共13页
dba面试题目综合整理.docx_第4页
第4页 / 共13页
dba面试题目综合整理.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

dba面试题目综合整理.docx

《dba面试题目综合整理.docx》由会员分享,可在线阅读,更多相关《dba面试题目综合整理.docx(13页珍藏版)》请在冰豆网上搜索。

dba面试题目综合整理.docx

dba面试题目综合整理

求同一个号码的两次通话之间间隔大于10秒的通话记录ID

一组通话记录(总共500万条):

ID主叫号码被叫号码通话起始时间  通话结束时间          通话时长

1 022007-02-0109:

49:

53.0002007-02-0109:

50:

16.00023

2 0666 2007-02-0109:

50:

29.0002007-02-0109:

50:

41.00012

3 0666 2007-02-0109:

50:

58.0002007-02-0109:

51:

12.00014

4 098662007-02-0110:

04:

31.0002007-02-0110:

07:

13.000162

5 086382007-02-0110:

48:

26.0002007-02-0110:

49:

23.00057

6 091092007-02-0110:

49:

39.0002007-02-0110:

52:

55.000196

7 0370 2007-02-0111:

30:

45.0002007-02-0111:

31:

58.00073

8 099042007-02-0111:

33:

47.0002007-02-0111:

35:

00.00073

9 0379 2007-02-0111:

52:

20.0002007-02-0111:

54:

56.000156

10011992007-02-0112:

44:

45.0002007-02-0112:

45:

04.00019

求其中同一个号码的两次通话之间间隔大于10秒的通话记录ID

例如:

6,7,8,9,10条记录均符合。

答案:

在SQL-SERVER2000查询分析器下成功。

selectDISTINCTa.id--,a.mainNumber,a.endDateTime,b.StartDatetime,(b.startDatetime-a.endDatetime)

fromnumma,nummb

wherea.mainNumber=b.mainNumberanda.startDateTime<>b.startDateTime

and(b.startDatetime-a.endDatetime)>'1900-01-0100:

00:

10.000'

UNION

selectDISTINCTB.id--,a.mainNumber,a.endDateTime,b.StartDatetime,(b.startDatetime-a.endDatetime)

fromnumma,nummb

wherea.mainNumber=b.mainNumberanda.startDateTime<>b.startDateTime

and(b.startDatetime-a.endDatetime)>'1900-01-0100:

00:

10.000'

答案是除了4以外的全部ID

两道SQL面试题

在面试过程中多次碰到两道SQL查询的题目,一是查询A(ID,Name)表中第31至40条记录,ID作为主键可能是不是连续增长的列,完整的查询语句如下:

select top10*from AwhereID>(selectmax(ID)from(select top30 IDfrom AorderbyA )T)orderbyA

另外一道题目的要求是查询表A中存在ID重复三次以上的记录,完整的查询语句如下:

select*from(selectcount(ID)ascountfromtablegroupbyID)TwhereT.count>3

一道经典的SQL面试题

已经知道原表

yearsalary

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

20001000

20012000

20023000

20034000

显示查询结果

yearsalary

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

20001000

20013000

20026000

200310000

即salary为以前年的工资的和;

我这里提供的答案有两种

第一种:

selectb.year,sum(a.salary)

fromsalarya,salaryb

wherea.year<=b.yeargroupbyb.year

orderbyb.year;

其中salary为工资表

第二种:

selects1.year"year",(selectsum(s2.salary)fromsalarys2wheres2.year<=s1.year)"salary"fromsalarys1;

这两种方法都可以实现上面的效果,大家谁还有好的方法回复给我,交流一下。

程序员面试SQL题目

SQL试题2                                           

一、

教师号  星期号 是否有课

 1    2   有

 1    3   有

 2    1   有

 3    2   有

 1    2   有

写一条sql语句让你变为这样的表

教师号 星期一 星期二 星期三

 1       2   1 

 2   1   

 3       1

各星期下的数字表示:

对应的教师在星期几已经排的课数

二、

书表(books)

book_id,book_name,creatdate,Lastmodifydate,decription

001,三个人的世界,2005-02-02,2005-07-07,NULL

作者表(authors)

A_id,A_name

01,王纷

02,李尚

03,泰和

部门表(depts)

d_id,d_name

001,编辑一部

002,编辑二部

003,编辑三部

书和作者关联表(bookmap)

book_id,A_id

001,01

001,02

001,03

部门和作者关联表(depmap)

d_id,a_id

001,01

002,02

003,03

找出每个部门的所写的总书两,比如,一本书有3个人写,如果三个人在不同的部门,则每个部门的总数量就是1.最后结果如下:

部门,书量

编辑一部,1

编辑二部,1

编辑三部,1

三、

两个表情况

表名:

wu_plan 

ID     plan     model      corp_code    plannum    prixis

1      00001    exx22        nokia       2000        0

2      00002    lc001        sony        3000        0

表名:

wu_bom

ID    plan      pact         amount    

1     00001     aa1           300

2     00001     aa2           200

3     00002     bb1           500

4     00002     bb2           800

5     00002     bb3           400

查询这两个表中plan唯一,每一个plan中,amount最少的,plannum大于prixis的记录

结果是:

ID     plan     model      corp_code    plannum    prixis    pact  amount

1      00001    exx22        nokia       2000        0      a2      200

2      00002    lc001        sony        3000        0      bb3     400

四、

表1结构如下:

部门 条码 品名 销售额 销售数量 销售日期

表2结构如下

课别 部门

要求:

先按部门排序,再按销售额、销售数量排序检索出某个课别每个部门一个时期内的商品销售额的前三名,如查询01课别2007年4月15日到2007年4月22日每个部门一个周内的商品销售额合计的前三名

SQL面试之理论

我,8月1日在一家公司试三次第一次去的面试题今日在此与大家分享:

 

1.Acess和SQL SERVER区别?

2.如何优化SQL SERVER系统性能?

请举例3谈谈文件组与文件?

请使用文件与文件组恢复的方式恢复数据库?

4.请讲出登录帐号、数据库用户及数据库角色之间的关系,并画出示意图5.如何监控数据库的阻塞,并实现数据库的死锁测试?

6.写一个自动编号的存储过程如:

0001?

7.union all和union的区别?

8.exists和in的区别?

请举例?

9.你什么时候用触发器和索引?

请举例?

OracleSQL面试题目

一.简单SQL查询:

1):

统计每个部门员工的数目

selectdept,count(*)fromemployeegroupbydept;

2):

统计每个部门员工的数目大于一个的记录

selectdept,count(*)fromemployeegroupbydepthavingcount(*)>1;

3):

统计工资超过1200的员工所在部门的名称

selecte.first_name,salary,d.name

froms_empe,s_deptd

wheree.dept_id=d.id

andsalary>1200;

4):

查询哪个部门没有员工

selecte.empno,d.deptno

fromempe,deptd

wheree.deptno(+)=d.deptno

ande.deptnoisnull;

二.复杂SQL查询

有3个表(15分钟):

(SQL)

Student学生表(学号,姓名,性别,年龄,组织部门)

Course课程表(编号,课程名称)

Sc选课表(学号,课程编号,成绩)

表结构如下:

1)写一个SQL语句,查询选修了’JAVA’的学生学号和姓名(3分钟)

答:

SQL语句如下:

selectstu.sno,stu.sname

fromstudentstu,coursec,sc

wherestu.sno=sc.sno

ando=o

andame=’JAVA’;

2)写一个SQL语句,查询’a’同学选修了的课程名字(3分钟)

答:

SQL语句如下:

selectstu.sname,ame

fromstudentstu,coursec,sc

wherestu.sno=sc.sno

ando=o

andstu.sname=’a’;

3)写一个SQL语句,查询选修了5门课

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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