微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐