oracle中的with函数,Oracle层次查询和with函数的使用

article/2025/9/29 19:21:36

开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树。这种情况下一般会把父级部门和子级部门分成2个或者多个表,这种算是比较常规的做法;有时可能为了数据表管理的方便 就把所有的部门放在一张表里并加上一个字段标识部门之间的隶属关系,这样子看起来有点奇怪,但凑合用用还是Ok的。下面我跟大家分享下我的心得,也就是基于这种设计怎么做数形图,简单的做法就是查询出一个list集合就可以,要怎么办呢先来看下我的数据表

211be9fbf3af6679355c555dbb3ec5f9.png

不难看出部门之间用fparent关联,那sql语句怎么写呢,下面是一种偷懒的写法

-- ||是连接符,level可以看成常量

select t.fnum,LPAD(' ',3*level-3)||'|-'||fname fname,t.fparent,Level lev

From m_depart t

--start with后面是条件1

start with fparent is null

--connect by Prior后面是条件2

connect by Prior fnum=fparent

下面是查询结果,查询结果和数非常接近

0983a135cb50a04d98cd3845beb8bf26.png

差不多了下面还有一个比较常用的with函数,一般做复杂查询可能会用到,可以参考下面的文章

Oracle层次查询

Oracle层次查询的语法如下: 下面根据两道“烧脑”的题具体来体现: 1. 根据时间先后顺序,十二星座的英文名称用逗号串起来为'Aries,Taurus,Gemini,Cancer,Leo,Virg ...

Oracle 层次查询 connect by

oracle 层次查询 语法:       SELECT ... FROM            [WHERE condition]                             --过 ...

oracle 子查询和组合函数

oracle 子查询和组合函数 --查询与"SCOTT"在同一个部门的员工 select empno,ename,deptno from emp where deptno in ( ...

带您了解Oracle层次查询

http://database.51cto.com/art/201010/231539.htm Oracle层次查询(connect by )是结构化查询中用到的,下面就为您介绍Oracle层次查询的 ...

【转载】Oracle层次查询和分析函数

摘要 一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的数?知道一个大的号段范围和已经取过的号段,如何求出可用的号段?利用Oracle提供的强大的查 ...

Oracle层次查询和分析函数在号段选取中的应用

转自:http://www.itpub.net/thread-719692-1-1.html 摘要一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的 ...

Oracle - 层次查询

如果表中含有层次数据,可以通过使用层次查询有序地查看层次数据. 语法: condition:指一个或多个表达式和逻辑(布尔)运算符的组合,并返回TRUE.FALSE或UNKNOWNstart with ...

Oracle层次查询start with connect by

博客参考:https://www.cnblogs.com/jerryxing/articles/2339352.html start with connect by 层次查询(Hierarchical ...

oracle层次查询的陷阱

今天开发组同事找到我,说一个简单的层次查询非常慢,业务就是有一个存设备表连接关系的表,从node1连入,从node2连出,现在要找出node2的连出顺序,sql类似于: SELECT LEVEL ID ...

随机推荐

Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现

http://blog.csdn.net/guolin_blog/article/details/8714621 http://blog.csdn.net/lmj623565791/article/d ...

Nginx目录保护、防盗链、限速及多域名处理

http://www.opsers.org/server/nginx-directory-protection-anti-hotlinking-processing-speed-and-multi-d ...

discuz X3.2邮箱非必填

最近有个需求是:邮箱非必答,但是X3.2是邮箱必填: 找到资料:http://www.51php.com/discuz/17147.html 但是修改后不起作用!提示‘Email 地址无效’! 用fi ...

Gulp-入门教程 搭配环境

之前一直听朋友谈起gulp,但没有使用过,最近有机会接触到,现在给大家分享下,不对的地方还请指正.我一直以为互相分享是学习的一种好方式.下面进入正题: 首先来了解下gulp,最起码要知道:我们为什么要 ...

JavaScript forEach方法

最近看了一些html5和js方面的书,受益匪浅,因为看的东西比较多,却都没有怎么静心来做整理,慢慢来吧,可能最近自己有点儿小紧张.今天跟大家分享下JavaScript的forEach方法(其实是从&l ...

wordpress主题制作结构文件

下面是WordPress主题文件层次结构,它会告诉你:当WordPress显示特定的页面类型时,会使用哪个模板文件呢?只有了解了以下主题层次结构,你才能知道你的WordPress主题到底需要写哪些文件 ...

UIButton的属性设置

1.背景颜色 btn.backgroundColor = [UIColor redColor]; 2.给按钮添加文字并添加显示状态  [btn setTitle@"播放" forS ...

Git初入

Git记录 使用git 也有一段时间了, git的入门级了解也就不再多说, 但平常使用中, 仍然会遇到很多问题, 在此记录一二. 在查资料的过程中, 发现了两个比较好的资料: 特别是第二个, 相当详细 ...

oracle存储过程出现ORA-01403: 未找到数据 问题解决方法

这段时间在做一个业务,需要用到存储过程处理业务逻辑,但是出现一个ORA-01403: 未找到数据 问题, 那么这个应该如何解决这个问题 declare mixType integer; begin - ...

docker run命令运行以及参数详解

命令格式: -a, --attach=[] 登录容器(必须是以docker run -d启动的容器) -w, --workdir="" 指定容器的工作目录 -c, --cpu-sh ...


http://chatgpt.dhexx.cn/article/Sx7MBNwh.shtml

相关文章

node.js配置oracle,Node.js 安装配置 | 菜鸟教程

Node.js 安装配置 本章节我们将向大家介绍在 Windows 和 Linux 上安装 Node.js 的方法。 本安装教程以 Node.js v4.4.3 LTS(长期支持版本)版本为例。 你可以根据不同平台系统选择你需要的 Node.js 安装包。 注意:Linux 上安装 Node.js 需要安装 Python 2.6 或 2.7 &…

navicat里面的oracle数据库,navicat连接Oracle数据库

记录一下navicat连接Oracle数据库过程: 一、根据自己版本去Oracle官网下载instantclient 地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.html 二、 navicat设置OCI环境 进入navicat --> 工具 --> 选项 --> 环境添加instantclient oci.dll 重启…

MySQL 到Oracle 实时数据同步实操分享

💂 个人网站:【 海拥】【萌怪大冒险】【2048】🤟 风趣幽默的前端学习课程:👉28个案例趣学前端💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼大军】💬 免费且实用的计算机相关知识题库&…

oracle脚本导入mysql数据库_oracle脚本导入mysql数据库

关于 oracle脚本导入mysql数据库的搜索结果 问题 如何将一个mysql 风格的 sql 脚本转换为 oracle 导入的 sql 脚本 - 数据库报错 如何将一个 mysql 风格的 sql 脚本转换为 oracle 导入的 sql 脚本 如:DROP TABLE IF EXISTS test; 在导入 oracle 中的时候 提示 ... …

arcgis读取oracle数据库,arcgis连接Oracle数据库

arcgis连接Oracle数据库 配置声明:本人的电脑是win10 64位,安装的Oracle是oracleR11gr2 64 arcgis版本位10.2 安装是在同一台电脑上。 一、首先是安装Oracle的安装: 可以参考这位朋友的,他的安装教材是非常详细的。 如果成功则可以在控制台输入 sqlplus system/123456(我的…

oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...

Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法。分享给大家供大家参考,具体如下: 1.基本逻辑公式: Select Rownum, 开始日期+Rownum-1 from dual connect by rownum< 结束日期-开始日期…

oracle apex服务安装

1.Oracle数据库 1.1oracle版本oracle19.3 1.2字符集采用缺省的AL32UTF8 1.3建议创建实例为非容器数据库&#xff08;如果创建成了容器数据库&#xff0c;后续的安装配置有少量特别处理&#xff09; 1.4实例名&#xff1a;MYORCL&#xff08;若之前已经创建过&#xff0c;直接使…

finereport连接oracle_Finereport 调用Oracle数据库中的存储过程需要两步走

?存储过程是由流控制和SQL语句书写的过程&#xff0c;这个过程经编译和优化后存储在数据库服务器中&#xff0c; FienReport使用时只要调用即可。 调用Oracle存储过程主要有两步&#xff1a;第一步&#xff0c;定义存储过程&#xff1b;第二步&#xff0c;调用存储过程。 下面…

springboot + vue 实现oracle数据库中的分页功能

个人想要记录一些比较常用的网页端功能。所以写这一篇博客记录一下。 话不多说&#xff0c;开始吧。 首先是&#xff0c;数据库的设计&#xff0c;没什么设计&#xff0c;就是一张表而已&#xff0c;用做分页功能的记录就足够了。不过要说的是oracle数据库与mysql数据的分页功能…

oracle 时分 增加日期,Oracle 当前日期如何添加指定年数、月数、天数、时数、分钟数、秒数...

Oracle 当前时间如何添加指定数,来获取指定的年数、月份或其他的时间日期 --当前时间(2018-10-19 16:51:22)--- select sysdate nowDate from dual; 1、添加指定年数后的日期 ----加年或月的语法:add_months(sysdate,月数) -- --当前时间 : 2018-10-19 16:52:13; 输出:2020-…

oracle语句时间区间函数,oracle 时间日期常用语句及函数

记录常用时间函数以及处理时间的sql语句 (1)获得系统时间 select sysdate from dual; (2)设置时间的格式 select to_char(sysdate,yyyy/MM/dd) ,to_char(sysdate,yyyy-MM-dd HH:mm:ss) from dual; (3)两个时间比较相差的天,时,分 select sysdate,ROUND(TO_NUMBER(sysdate - t…

android popupmenu动态添加item,Android开发使用PopupMenu创建弹出式菜单完整实例

Android开发使用PopupMenu创建弹出式菜单完整实例 发布时间:2020-08-22 02:30:30 来源:脚本之家 阅读:184 作者:水中鱼之1999 本文实例讲述了Android开发使用PopupMenu创建弹出式菜单。分享给大家供大家参考,具体如下: 简介: PopupMenu 代表弹出式菜单,它会在指定组件上…

android popupmenu 自定义样式,Android:自己定义PopupMenu的样式(显示图标/设置RadioButton图标)...

PopupMenu是Android中一个十分轻量级的组件。与PopupWindow相比&#xff0c;PopupMenu的可自己定义的能力较小&#xff0c;但使用更加方便。 先上效果图&#xff1a; 本例要实现的功能例如以下&#xff1a; 1.强制显示菜单项的图标。 默认状态下。PopupMenu的图标是不显示的。而…

android popupmenu 动态添加,Android PopupMenu弹出菜单的实现

Android PopupMenu弹出菜单的实现 发布时间&#xff1a;2020-09-03 21:43:38 来源&#xff1a;脚本之家 阅读&#xff1a;135 作者&#xff1a;徐刘根 Android PopupMenu弹出菜单的实现 (1)布局文件&#xff1a;用于弹出菜单的处罚button&#xff1a; xmlns:tools"http://…

设置PopupMenu全屏宽度

val popupMenu: PopupMenu PopupMenu(requireContext(), it)popupMenu.menu.add("测试Menu1")popupMenu.menu.add("测试Menu1")//反射获取Popupval mPopupMenu: Field popupMenu.javaClass.getDeclaredField("mPopup")mPopupMenu.isAccessible…

android popupmenu 动态添加,android中PopupMenu的使用

PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单&#xff0c;类似于actionbar溢出菜单的效果。它的菜单选项可以来自于menu资源&#xff0c;因此非常方便。下面是在网上找的一个PopupMenu的运行图片。 使用方法 res/menu下面新建 popup_menu.xml xmlns:tools"ht…

PopupMenu 的使用

//显示更多菜单private void showMoreMenu(View v) {PopupMenu popupMenu new PopupMenu(getContext(), v);popupMenu.inflate(R.menu.menu_more);if (isBlackMenu)popupMenu.getMenu().findItem(R.id.block).setTitle("移除黑名单");elsepopupMenu.getMenu().findI…

android popupmenu 动态添加,Android PopupMenu 的使用

Android 轻量化组件 PopupMenu 的使用 估计很多人遇到过这种场景&#xff1a; 要求弹出的PopupWindow里面是一个列表&#xff0c;我们使用时都是在里面套个ListView或RecyclerView &#xff0c;现在我们不需要在做这样繁琐的工作了。 在官方android.support.v7.widget 包下提供…

android实现菜单栏第三部分popupmenu,弹出式菜单

点击布局内菜单按钮会弹出菜单 就成跟其他菜单差不多&#xff0c;首先是在主界面建一个按钮&#xff0c;然后写出菜单布局&#xff0c;最后在主页面写出逻辑&#xff0c;按钮我们写一个点击事件&#xff0c;等会在主界面在这个点击事件里面写菜单 <?xml version"1.0…

PopupMenu的简要使用

PopupMenu的创建&#xff0c;使用及常见用法 一&#xff1a;功能概述 PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单&#xff0c;该弹出菜单的位置是可变的。在一些应用里面例如浏览器里面长按屏幕会显示弹出菜单。 二&#xff1a;创建基本流程 1&#xff1a;创…