Oracle
fuzhao918
这个作者很懒,什么都没留下…
展开
-
游标
1.直接使用select语句declarebegin for rec in (select ename from emp) loop dbms_output.put_line(rec.ename); end loop;end; 2.定义游标declare cursor mycursor is select ename from emp;begin for rec i原创 2009-06-12 17:20:00 · 244 阅读 · 0 评论 -
Oracle分页(3)-分析函数(分组)
查询各个部门员工工资最高的三个员工(包括并列)select ename, job, deptno, sal from (select ename, job, deptno, sal, rank() over(partition by deptno order by sal) row原创 2009-06-12 14:58:00 · 425 阅读 · 0 评论 -
Oracle分页(1)-伪列
select id, user_name from (select id, user_name, rownum rowno from (select id, user_name from users order by id) where rownum where rowno >= 11;原创 2009-06-12 14:42:00 · 220 阅读 · 0 评论 -
Oracle分页(2)-分析函数
select id, user_name from (select id, user_name, row_number() over(order by id) rowno from users) where rowno between 11 and 20;原创 2009-06-12 14:55:00 · 209 阅读 · 0 评论 -
表联接查询
1.左外联接注:左联接的结果集包括 LEFT JOIN 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 求:所有部门和员工信息(没有员工的部门显示,员工部门为空不显示)select d.deptno, dname, e.empno, e.job from dept d left join原创 2009-06-12 15:13:00 · 296 阅读 · 0 评论 -
exists函数
查询部门员工平均工资大于2000的部门信息select * from dept t where exists (select deptno from (select deptno, avg(sal) avg_sal from emp group by deptno) where avg_sal >= 2000 and deptno = t原创 2009-06-12 15:36:00 · 1906 阅读 · 0 评论 -
合并行
求:每个部门对应的员工姓名(将同一部门所有员工姓名合并到一条记录)select deptno, max(enames) enames from (select deptno, substr(sys_connect_by_path(ename, ,), 2) enames from (select deptno, ename,原创 2009-06-12 17:10:00 · 265 阅读 · 0 评论 -
排序(定义null值排序)
Null值在上select * from emp order by comm desc nulls first; Null值在下select * from emp order by comm desc nulls last;原创 2009-06-12 17:15:00 · 314 阅读 · 0 评论 -
树状菜单展示
CREATE OR REPLACE FUNCTION menuDisplay(p_fillchar in varchar2, --填充字符 p_fillnum in varchar2, --填充字符数 p_table in varchar2原创 2009-08-17 18:04:00 · 242 阅读 · 0 评论