oracle怎么查询员工,Oracle怎么查看用户

Oracle 查询列出员工的姓名及其上级的姓名

select a.ename 员工名字,b.ename 上级名字 from emp a,emp b where a.mgr=b.empno(+)

创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元石景山做网站,已为上家服务,为石景山各地企业和个人服务,联系电话:18982081108

Oracle数据库中 查询高于自己部门平均工资的员工信息 用相关子查询怎么做啊?

每个部门俯场碘渡鄢盗碉醛冬互大于所有人平均工资的员工:

Select BM,YG From TB WHERE Salary(Select Avg(Salary) From TB)

每个部门大于所在部门所有人平均工资的员工:

Select BM,YG From TB

Join (Select BM,Avg(Salary) as AvgSalary From TB

Group By BM) As Temp

On TB.BM=Temp.BM

where SalaryTemp.AvgSalary

SELECT DEPT.DNAME, EMP.ENAME, (EMP.SAL + NVL(EMP.COMM, 0)) AS SC

FROM EMP,

DEPT,

(SELECT DEPT.DEPTNO AS D, AVG(EMP.SAL + NVL(EMP.COMM, 0)) ESC

FROM DEPT, EMP

WHERE EMP.DEPTNO = DEPT.DEPTNO

GROUP BY DEPT.DEPTNO) T

WH俯场碘渡鄢盗碉醛冬互ERE EMP.DEPTNO = DEPT.DEPTNO

AND EMP.DEPTNO = T.D

AND (EMP.SAL + NVL(EMP.COMM, 0)) T.ESC;

select a.empname, b.deptname ,a.salary

from emp as a,

( select d俯场碘渡鄢盗碉醛冬互eptid,deptname ,avg(salary) c from dept group by deptid,deptname ) b

where a.deptid=b.deptid 

and a.salary b.c

一、单行子查询:

1、单行子查询指在子查询中只返回单行值,这种子查询需要使用单行比较运算符,包括=、、=、、=、。

2、单行子查询出现在WHERE子句中,如下所示:

3、单行子查询中有分组函数,要求分组函数返回的是单行数据。如下图为查询出薪水比本部门平均薪水高的员工信息:

4、单行子查询出现在HAVING子句中,如下图为查询出平均薪水高于部门30最高薪水的部门信息。

二、多行子查询:

如果子查询返回了多行,则主查询中的比较操作符应该使用多行比较操作符。Oracle数据库中的多行比较操作符包括IN、ALL、ANY,其中ALL和ANY不能单独使用,需要配合单行比较操作符、=、、=一起使用。

1、多行子查询中使用IN:

IN后面是值的列表,只不过这里的值是子查询查出来的多个数据。如下图:

三、多行子查询中使用ANY操作符:

ANY操作符不能单独使用,必须和、等比较操作符一起使用。ANY表示大于列表中任何一个数据即为TRUE;ANY表示小于列表中的任何数据即为TRUE。具体实现如下图:

在oracle 中怎样查询名字包含's的员工信息

假设你的表名是employ,

1、创建表

create table employ(

name varchar(10),

age number,

sex varchar(5),

salary number,

from_city varchar(50)

);

2、查询语句:

select * from employ em

where em.name like 's%'

or em.name like '%s';

解释:em是表employ的缩写形式,以便在后面引用写书写方便。

‘s%'表示所有以s开头的名字,不管后面是几个字符。

如何用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,count(*) counts,round(avg(sal),2) avgsal,min(sal) minsal

from emp a,dept b,salgrade c

where a.deptno=b.deptno and a.deptno=b.deptno

and a.sal between c.losal and hisal

group by  b.deptno,b.dname) b,

salgrade c

where a.sal=b.minsal

and a.sal between c.losal and c.hisal

结果如图:

如何查询Oracle中所有用户信息

方法如下:

输入select * from dba_users; 即可。

常用语句:

一,查看数据库里面所有用户:

select * from dba_users;

前提是你是有dba权限的帐号,如sys,system。

二,查看你能管理的所有用户:

select * from all_users;

三,查看当前用户信息 :

select * from user_users;

扩展资料:

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。

此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。

这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

Oracle数据库具有完整的数据管理功能:

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

参考资料:百度百科:Oracle数据库

oracle基础(第二节)

进行筛选的基本运算符号:

--查询月薪高于2000的员工的姓名和其月薪

--查询员工SMITH的员工信息

--关键字,表名,列名:大小写是不敏感(随意写)

--数据:大小写是敏感(不能随意写)

--查询不在20号部门工作的员工信息

--查询在20号部门工作并且月薪高于2000的员工信息

--查询职位是MANAGER或者月薪不低于3000的员工信息

--查询在10号部门工作月薪低于2000并且职位不是CLERK的员工信息

--查询在10号部门工作或(20号部门工作并且月薪不低于1500)的员工信息

--and的优先级要高于or 如果两者混合使用,需要注意优先级的问题

--加括号解决优先级问题

--SQL注入:利用了and的优先级高于or完成无密码进行登录

--SQL片段:通过在密码框中输入下方的SQL片段,更改了原有SQL语句的逻辑 ' or lname = 'admin --or前的逻辑:账号随意,密码为空 (登录失败) --or后的逻辑:用户名是admin的账号 (调取了admin的信息)

--1.查询10号部门职位是MANAGER的员工信息

--2.查询月薪低于2000或月薪高于3000的员工信息

--3.查询员工编号是7902的员工的所有下属的员工信息

--4.查询职位是CLERK或SALESMAN,并且月薪不低于1000的员工信息

--5.查询月收入不低于2500的员工信息

--6.查询30号部门年收入低于10000的员工信息

--7.查询员工SCOTT的月薪,奖金和月收入

--8.查询在1982年之前入职的员工信息(选做)

--相当于 = A and = B

--查询月薪在1000-2000区间的员工信息

--82年入职的员工

--like '特定字符'

-- 特定字符:由转义字符和搜索文本组成

-- 转义字符: %: 0-n个字符(任意长度的任意字符)

-- : 1个字符(1个长度的任意字符)

-- 比如 姓李 特定字符的写法 '李%'

-- 第二个字符是哈 特定字符的写法 ' 哈%'

--查询员工名字首字母是S的员工

--查询名字中倒数第2个字符是T的员工

--查询名字中包含字母T的员工

--查询名字中包含两个字母T的员工

--查询有两个连续的T

--查询名字中有%字符的员工

--声明标识字符

--相当于 = A or = B or = C...

--查询在10号部门或20号部门工作的员工

--查询在10号部门工作或月薪高于1200的员工

-- = null 无法筛选任何数据

-- is null 筛选null值

-- not between A and B 不在A与B区间内

-- not like '%A%' 名字里面没有A

-- not in(A,B,C) 不是A,B,C其中之一

-- is not null 不为null

--查询月薪不在1000-2000区间内并且名字中不包含字母T的员工信息

--order by 列名 或 列别名 或 表达式 或 列序号

--ASC 升序 由小到大

--DESC 降序 由大到小

--不写 默认是升序

--## 书写顺序:select...from...where...order by...

--## 执行顺序:from...where...select...order by...

--查询所有员工的信息,按照月薪的升序排序

--再按照月薪的降序排序

--利用表达式排序

--利用列别名进行排序

--利用列序号进行排序(第4列)

--排序的原则:

--1.数值按照数值的大小

--2.文本按照字典顺序

--3.日期按照未来的大

--#####order by 可以修饰多个列

-- ## order by A, B 先A的升序排序,如果A相同,再按B的升序排序

-- ## order by A desc, B desc 先A的降序排序,如果A相同,再按B的降序排序

--查询月薪高于1000的员工,按照部门的升序排序,再按照入职日期降序排序

--推荐在order by中使用列名或列别名

--1.查询名字中包含字母T,并且月薪在1500-3000之间的员工姓名和月薪

--2.查询公司的BOSS信息(mgr值为null的人)

--3.查询员工姓名,月薪,奖金,年收入,按照年收入降序进行排序显示

--4.查询职位中包含MAN并且有奖金收入(不是null不是0)的员工信息

--5.查询在在1981年期间入职的员工信息,并按照月薪降序排序

--6.查询员工信息,并按照职位升序,部门升序进行排序显示

--7.查询不在10号或20号部门工作,月薪低于1500的员工信息

--8.查询所有的职位名称,去掉重复后按照名称的升序排序显示

--9.查询员工SCOTT和ADAMS的员工信息

--10.查询年收入高于45000的员工信息,并按照年收入降序排序显示


网站题目:oracle怎么查询员工,Oracle怎么查看用户
文章路径:http://pwwzsj.com/article/hoccis.html