oracle常见面试题(10级学员 赵成举整理)

转载 2012年03月22日 20:28:13

oracle常见面试题

01.tmp 表中有如下记录

要求结果格式为:

 

答:这个题主要考察的是case.. when..group by的用法

select rq,

count(case when shengfu='WIN' then 1 else null end) WIN,

count(case when shengfu='LOSE' then 1 else null end) LOSE from tmp group by rq ;

 

分析:我们看到输出结果了,此题是统计每天胜负的场次,所以我们要根据日期来分组,在此基础上在用count()函数统计胜负的场次。

 

讲解:由于有胜负两种情况,所以count()函数中必须有相应的条件例如(shengfu=’WIN’shengfu=’LOSE’,但是count()函数中不支持这样的表达式,所以在此我们要用到case.. when..语句。

Case..when..的用法:

Case when 条件then 表达式1 else 表达式2 end;

当条件成立时该语句的值为表达式1如条件不成立则值为表达式2

case when shengfu='WIN' then 1 else null end这条语句的意思是把shengfu列为WIN的那些值设为1,,否则设为null,又由于count()函数不统计null值和已经根据日期分组了,所以统计出来的就是当天胜场的次数。同理统计负场的次数。。。

 

 

02. 查询当前月有多少天

答:

select trunc(add_months(sysdate,1),'month') - trunc(sysdate,'month') from dual;

 

分析:这个题相对来说比较简单,考察的就是你对日期函数的熟练程度,如果你对日期函数用的比较熟练,那么恭喜你白加分的题。但如果不熟练,也是会把你绕进去的。此题的思路就是先得到下个月的第一天的日期,再得到当前月的第一天的日期,用下个月第一天的日期减去当前月第一天的日期得到的就是这两个日期中间相差多少天,也就是当前月有多少天。

 

讲解:add_months(date,n)这个函数是用来添加月份的,其中date是一个日期,n是代表date要加几个月,得到的结果就是date这个日期再过n个月的日期。

Trunk(date,’xxx’)这个是日期截取的函数,根据’xxx’指定的类型来截取日期,比如2012321日用trunk()函数根据月截取的结果就为201231日,根据年截取的话就为201211日。

 

 

03. pages 表有四个字段,id, url,title,body。如图:

现要求将url 匹配的排在最前,title 匹配的其次,body 匹配最后,没有任何字段匹配的,不返回。现要求查询所有匹配baidu 的记录,最终查询结果如图:

答:

select id,content from (

select id, 3 mark, url content from pages where url like '%baidu%'

union

select id, 2, title from pages where title like '%baidu%'

union

select id, 1, body from pages where body like '%baidu%'

) order by mark desc;

分析:这个题主要考察的就是union的用法,做题的思路就是先查出url中与’baidu’匹配的记录,再找出title中与’baidu’匹配的记录,再找出body中与’baidu’匹配的记录,三个结果做一个并集,得到的这张表就是我们想要的结果。

这里面还有需要我们注意的:

union 可以用来合并多次查询结果。这里需要注意多次查询的结果列的个数和类型必

须相同,合并后的结果集也可以看做一张表,表的列的类型和名称由union 的第一条查询结果来决定。

这里用到一个技巧:手工指定一个优先级mark 列,最后根据mark 列排序。

 

相关文章推荐

Oracle常见面试题整理一(10级学员 郞志整理)

Oracle常见面试题整理 01  .查询各个部门的平均工资 SQL> select deptno,avg(nvl(sal,0)) from emp group by deptno; 02....

JQueryUI插件----手风琴效果(10级学员 赵成举课堂笔记)

JQueryUI插件----手风琴效果 今天我们介绍一下JQuery中UI插件中的手风琴效果,效果图如下: 像这种能够展开和折叠的div在我们项目的开发中经常需要用到,这样能够使界面更加绚...

oracle面试题整理二(10级学员 乔宇整理)

Oracle面试题整理二(10级学员 乔宇整理) 1.查询工资最高的3 名员工信息 select * from (select * from emp order by sal desc) ...

Oracle常见的面试题四(10级学员 庞丽整理)

Oracle常见的面试题: 题目:现有STUDENT(学生),COURSE(课程),SC(成绩)表,完成以下需求。(建表语句在emp.sql中,综合考察) (1)       查询选修课程为w...

oracle其他数据对象 --- 视图(10级学员 韩晓爽课堂总结)

oracle其他数据对象 --- 视图 一 介绍: 1.什么是视图:     视图是从一个表或多个表中导出的虚表,它与常规表不同之处在于它并不存储数据,它只是在一个存储的查询中定义.视图同真实表...

oracle集合运算_10级 学员 马林 课堂总结

集合运算 10级 学员 马林 课堂总结 集合操作符 1. UNION/UNION ALL 并集 UNION运算符返回两个集合去掉重复元素后的所有记录 我们以查询姓名中含有A或者M的人的列...

C、C++常见面试题整理.pdf

  • 2012-06-17 16:24
  • 1.25MB
  • 下载

Oracle常见面试题(转)

Oracle常见面试题 1、对数据库SQL2005、ORACLE熟悉吗? SQL2005是微软公司的数据库产品。是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。 ORACLE...

ORCL数据字典(10级学员 张家玮整理)

ORCL数据字典  ORACLE数据字典是ORACLE数据库的重要组成部分,它提供了诸如数据库结构、数据库对象空间分配和数据库用户等等有关数据库的信息。本文试图从数据库管理系统的若干基本概念出发,具...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)