CREATE TABLE dept( deptno INT PRIMARY KEY,dname VARCHAR(20),loc VARCHAR(20) ); CREATE TABLE emp(empno INT PRIMARY KEY,ename VARCHAR(20) NOT NULL, job VARCHAR(20) CHECK (job IN(‘CLERK‘,‘SALESMAN‘,‘MANAGER‘,‘ANALYST‘)),mgp INT, hiredate DATE ,sal DECIMAL(10,2),comm DECIMAL(10,2), deptno INT, CONSTRAINT pk_we FOREIGN KEY (deptno) REFERENCES dept (deptno) )
插入数据:
INSERT INTO dept VALUES (10,‘ACCOUNTING‘,‘NEWTORK‘); INSERT INTO dept VALUES (20,‘RESEARCH‘,‘DALLAS‘); INSERT INTO dept VALUES (30,‘SALES‘,‘CHICAGO‘); INSERT INTO dept VALUES (40,‘OPERATIONS‘,‘BOSTON‘); select * from deptinsert into emp values(7369,‘SMITH‘,‘CLERK‘,7902,‘1980-12-17‘,1640,NULL,20);insert into emp values(7499,‘ALLEN‘,‘SALESMAN‘,7698,‘1981-2-20‘,11400,300,30);insert into empvalues(7521,‘WARD‘,‘SALESMAN‘,7698,‘1981-2-22‘,5200,500,30);insert into empvalues(7566,‘JOENS‘,‘MANAGER‘,7839,‘1981-4-2‘,7015,NULL,20);insert into emp values(7654,‘MARTIN‘,‘SALESMAN‘,7698,‘1981-9-28‘,5200,1400,30);insert into empvalues(7698,‘BLAKE‘,‘MANAGER‘,7839,‘1981-5-1‘,5900,NULL,30);insert into empvalues(7782,‘CLARK‘,‘MANAGER‘,7839,‘1981-6-9‘,2470,NULL,10);insert into emp values(7788,‘SCOTT‘,‘ANALYST‘,7566,‘1987-4-19‘,3040,NULL,20);
select a.ENAME from emp a where exists(select * from dept b where b.deptno=a.deptno and b.deptno=10);
Oracle 部门员工查询
标签:arch 管理 count tor manager col rac varchar val
小编还为您整理了以下内容,可能对您也有帮助:
如何用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 emp,dept表中查询部门人数大于所有部门平均人数的部门编号、部门名称、部门人数
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 )
oracle hr账户下如何查询显示每个部门工资最低的员工的部门名称、工作城市、工资、及入职时间 等。
select 姓名,部门名称,工作城市,工资,入职时间 from (select 部门,min(工资) salary from 表 group by 部门) a,表 b where a.salary=b.工资
请把汉字内容改成你的字段名称。 里面用到的两个表同为hr的表。如果是几个表的综合,你可以把他们联到一起,如:(select a.姓名,b.部门名称,b.工作城市,c.工资,a.入职时间 from 员工表 a,部门表 b,工资表c where a.部门ID=b.部门ID AND A.员工ID=C.员工ID)
括号里的内容可以替换第一句的"表"字.如果你一个表中有所有内容,直接用你的这一个表名即可。
Oracle 查询列出员工的姓名及其上级的姓名
select a.ename 员工名字,b.ename 上级名字 from emp a,emp b where a.mgr=b.empno(+)