Oracle面试题

前端之家收集整理的这篇文章主要介绍了Oracle面试题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

面试题1

分析:从要求的结果中可以看出,最后一列的数是和上一列斜对着的
主要用到了相关子查询

select t1.id,t1.name,t1.money,(select t2.money from test1 t2 where t1.id = t2.id+1 ) MONEY1
from test1 t1;


面试题2


这里用到了组函数:wm_concat(varchar2) instr函数

instr函数的使用:
格式:instr(string1,string2[,start_position[,nth_appearence]])
string1:要在此字符串中查找。

string2:要在string1中查找的字符串。

start_position:从string1开始查找的位置。可选,默认为1,正数时,从左到右检索,负数时,从右到左检索。

nth_appearence:查找第几次出现string2。可选,默认为1,不能为负。

注:如果没有查找到,返回0。
例如:

select instr(‘abcd’,’a’) from dual;  –返回1
select instr(‘abcd’,’c’) from dual;  –返回3
select instr(‘abcd’,’e’) from dual;  –返回0

例如:
 select deptno,wm_concat(ename) nameslist from emp group by deptno;
select ci_id,wm_concat(stu_name) namelist from (select ci_id,stu_name from pm_ci c,pm_stu s where instr(c.stu_ids,s.stu_id) > 0) group by ci_id;

猜你在找的Oracle相关文章