问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

oracle emp,dept表中查询部门人数大于所有部门平均人数的部门编号、部门名称、部门人数

发布网友 发布时间:2022-04-30 02:39

我来回答

3个回答

懂视网 时间:2022-04-30 07:00

 

部门326为部门329的父部门,部门2与部门326是同级部门;

账户muyunfei,属于329部门

消息发送给部门2及部门326两个部门(326|2),发送的部门对象之间用“|”分割

技术分享

 

 

查询:muyunfei账户是否属于该部门字符串(329|2)或者该部门字符串的子部门中

1、首先使用start with。。。。。connect by获得账户muyunfei的部门及父部门

2、遍历部门及父部门,在循环体重嵌套循环(该循环拆分以“|”为分隔符的部门号),在嵌套的循环体中判断,两结果是否相同,相同,即人属于当前部门或其子部门,返回1结束循环,否则继续循环

create or replace function check_User_in_dept(to_party_id varchar2, --部门id,多个用|分割
      cur_user_id varchar2 --人员id
      ) return varchar2 as
 /*
 功能:判断当前人是是否属于当前部门中
 * 1当前人属于该部门,0不属于
 */
 party_str varchar2(200);
 v_length NUMBER := LENGTH(to_party_id);
 v_start NUMBER := 1;
 v_index NUMBER;

 cursor c_1 is
 select *
 from wx_party a
 start with a.party_id = (select b.department
    from wx_contacts b
    where b.user_id = cur_user_id)
 connect by a.party_id = prior a.parent_id;

begin
 /*检索游标数据*/
 for v_1 in c_1 loop
 /**根据‘|’拆分字符串,并匹配数据,如果存在然后1,否则继续循环*/
 WHILE (v_start <= v_length) LOOP
 v_index := INSTR(to_party_id, '|', v_start);
 -- DBMS_OUTPUT.PUT_LINE('v_index:' || v_index);
 IF v_index = 0 THEN
 party_str := SUBSTR(to_party_id, v_start);
 v_start := v_length + 1;
 ELSE
 party_str := SUBSTR(to_party_id, v_start, v_index - v_start);
 v_start := v_index + 1;
 END IF;
 --DBMS_OUTPUT.PUT_LINE('party_str:' || party_str);
 --DBMS_OUTPUT.PUT_LINE('party_id:' || v_1.party_id);
 IF party_str = v_1.party_id then
 return '1';
 end if;
 END LOOP;
 /*重置循环条件*/
 v_length := LENGTH(to_party_id);
 v_start := 1;
 end loop;
 return '0';
end;


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle查询某人所在的部门(326)是否属于部门字符串(329|2)或者该部门字符串的子部门中

标签:

热心网友 时间:2022-04-30 04:08

select s.deptno,s.dname,count(t.empno) from emp t,dept s where t.deptno=s.deptno group by s.deptno,s.dname having count(t.empno) > (select count(empno)/count(distinct deptno) from emp )

热心网友 时间:2022-04-30 05:26

一、数据库概念

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

根据存储模型可将数据库划分为关系型数据库和非关系型数据库。

关系型数据库,是建立在关系模型基础上的数据库,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。

数据库设计的三范式:

第一范式是指数据库表的每一列都是不可分割的基本数据项。

第二范式就是非主属性非部分依赖于主键。

第三范式就是属性不依赖于其它非主属性。

二、select查询列

--查询

-- 员工表 部门表 薪资等级表 奖金表

--select *|字段名1,字段2,... from 表名;

--查询所有的员工信息

select * from emp;

--查询所有的员工姓名,员工编号,上级经理人编号,部门编号

--查询的数据: 员工姓名,员工编号,上级经理人编号,部门编号

--数据的来源: emp员工表

--条件:

select ename, empno, mgr, deptno from emp;

--去重 distinct

select distinct deptno from emp;

--去重的要求:查询出来的两条数据,要求每一个字段的值都相同,才能达到去重效果

select distinct deptno,ename from emp;

--取别名

--""原样输出 ,别名是小写的,有特殊符号存在,前后必须添加""

--给字段取别名 (as) 别名

select ename as "username", empno "员工 编号" from emp;

--给表取别名: 表名 别名,注意:表取别名不能出现as

select ename 员工名称 from emp e;

--伪列 :不存在的字段

--表达式

select distinct 123*456 乘积 from dept;

--字符串用单引号表示 ,原样输出用双引号

select empno,ename,123*345,'haha' 哈哈 from emp;

--虚表 没有数据,没有字段

select 123*456,'hehe' from al;

--字符串的拼接 ||

--查询员工姓名,结果前拼接SXT-

select 'SXT-'||ename "尚学堂员工姓名",comm from emp;

--null是空值,和数字运算,结果还是null

select ename ,comm "原奖金",comm+100 "新奖金" from emp;

--null 和 字符串拼接,结果是原串

select ename ,comm "原奖金",comm||'100' "新奖金" from emp;

--处理null值, nvl(值1,值2) 当值1为null,函数的结果为值2,当值1不为null,函数的结果为值1

例如:select nvl(null,0) from al;

三、查询行

--select 数据 from 表名 where 行过滤条件;

--执行流程: from where select

--查询20部门的所有员工的信息

--查询的数据: *

--来源: emp

--条件: deptno=20

select * from emp where deptno=20;

-- 比较条件:= != <> > < >= <=

-- 查询 SMITH 的信息

select * from emp where ename = 'SMITH';

-- 查询除了'SMITH'之外的所有人信息 != <>

select * from emp where ename != 'SMITH';

-- and | or

--区间范围的值: > < >= <= between and

-- 查询工资在1500~2500之间的员工工种和姓名和工资
...所有部门平均人数的部门编号、部门名称、部门人数

select s.deptno,s.dname,count(t.empno) from emp t,dept s where t.deptno=s.deptno group by s.deptno,s.dname having count(t.empno) &gt; (select count(empno)/count(distinct deptno) from emp )

如何用oracle查询出部门名称,部门员工数,部门平均工资,部门最低工资...

这是oracle中默认用户scott下的表。本问题涉及到三张表,数据分别如下:emp表:dept表:salgrade表:按题目要求,sql语句如下:select b.dname 部门名称,b.counts 部门员工数,b.avgsal 部门平均工资,b.minsal 部门最低工资,a.ename 姓名,c.grade 工资等级 from emp a,(select b.deptno,b.dname,co...

第七章 高级查询

select deptno 部门编号,job 岗位,sum(sal)from empgroup by deptno,job;练习21.查询每个部门的部门编号,部门名称,部门人数,最高工资,最低工资,工资总和,平均工资。select d.deptno,dname,COUNT(e.deptno) 部门人数,max(sal) 最高工资,min(sal) 最低工资,sum(sal) 工资总和,avg(sal) 平均工资FROM emp e,...

oracle中 emp表怎显示每部门每岗位的平均工资,每部门的平均工资,每岗位...

部门:select avg(salary),dept_id 部门 from emp group by dept_id 岗位:select avg(salary),gangwei 岗位 from emp group by gangwei

零基础学Oracle-使用HAVING子句限制分组结果

例如,要统计每个部门的平均工资且要求大于2000元,代码如下:SELECT deptno AS 部门编号, AVG(sal) AS 平均工资 FROM emp GROUP BY deptno HAVING AVG(sal) &gt; 2000;这里,HAVING子句确保了只有平均工资大于2000的部门才会被包含在查询结果中。而如果直接用WHERE,由于不能使用聚合函数,就无法达到这个...

17/12/6 子查询

4.查询部门人数大于所有部门平均人数的部门编号,部门名称,部门人数。-子查询返回的条数,可以是一套或多条 -和多行子查询进行比较时,需要使用多行操作符.in:any: 表示和子查询的 任意 一行结果进行比较,有一个满足条件即可。&lt; any: 表示小于子查询结果集中的任意一个,即小于最大值就可以。&gt; ...

数据库性能优化有哪些措施?

例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
MSN邮箱登 手机可以查到浏览的网址吗? 如何评价演员刘晓庆在日常生活中的旗袍穿搭? 小草666的虚无世界的喷气背包是什么MOD 怎么才能一天加很多qq好友 小草哥哥666是什么意思? 一天内qq需要加很多好友怎么办 excel表格中的字体去哪儿了? 星期六上午11点别人农业银行用支付宝省内给我往建行转的帐!周二还没... 支付宝一天收到好几条帮人代付的消息,完全不认识的,但是过了一会儿又撤... 形容“正义”的诗词有哪些? 男性成女性为闺蜜吗? 真的有男女闺蜜吗? 挂门头广告牌比隔壁的上投高一点儿好,还是下边儿低点儿好? 7和7p电池容量 男女闺蜜相处的区别在哪? 什么是男女闺蜜到什么程度算 日本商铺门头设计的要求和表现,加深对共性和个性的理解? 男女之间叫闺蜜合适吗? 房屋买卖合同与补充协议 苹果7和7pius有什么很大的差别吗 什么是闺蜜?女人和女人俩人关系好特别好的朋友称为闺蜜,如果男人和男人俩人之间关系很好也是最好的朋友 闺蜜有分男女吗? 苹果7p和7的续航差别是多少 ? 男女闺蜜是什么样的? 草莓几月份种植? 男女关系什么叫闺蜜 男女闺蜜是什么样关系? 二手房屋买卖补充协议怎么写 草莓什么时候种植 谁有关于HIT FM 发展历史的介绍 正气歌有名诗句 匹克R04077M 多钱 怎样把QQ欢乐斗地主下载到金立A320手机上 匹克 板鞋r8315b价钱 吉他技巧中的 b和r 是什么意思 匹克几点下班 Linpack中Rmax和Rpeak是什么意思 真有奥林匹克号吗 匹克的英文广告曲哪有下的啊!~ 石家庄 匹克那里有卖? peak temperature是什么意思 水滴筹里如果点击发送手机验证码收不到怎么办? 并行f,s,i,以及peak什么意思 匹克xe22067b都有什么颜色的 r2008年北京奥运会的会徽是什么 国产品牌爱国者、匹克谁能得到百事巨星热力兄弟代言呢?我想知道? 微信开发者平台这是什么意思,不太明白,要怎么使用,小白求大神帮助 打球阴茎上部被撞 举例:中国地名中带“阴”“阳”二字
  • 焦点

最新推荐

猜你喜欢

热门推荐