Oracle 部门员工查询


    1. --部门:部门编号,部门名称,地址;
    2. --员工:员工编号,员工名字,职务,管理编号,入职日期,薪资,奖金,部门编号;
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 dept
insert 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);

时间: 2024-08-09 23:48:10

Oracle 部门员工查询的相关文章

Oracle中遍历查询下属部门信息

一条人员信息记录中,含有部门标杆信息unified_code,以及父部门标杆编码parent_org_unified_code,现在需要查询一个部门及其下属部门,SQL语句如下: 1 select de.dept_name,de.unified_code 2 from cimsuser.t_org_department de 3 start with de.unified_code= 'DP00004' 4 connect by prior de.unified_code = de.parent

oracle之sql查询二

此文章为http://huangsir007.blog.51cto.com/6159353/1854818该片的后续 关于数据库语言查询: SQL> show parameter nls_language; NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ nls_languag

Oracle表复杂查询

Oracle表复杂查询 聚合函数 max(字段值)  -- 求最大值 min(字段值)  -- 求最小值 sum(字段值)  -- 求总和 avg(字段值)  -- 求平均值 count(字段值)  -- 求个数 group by 和 having 字句 group by :  用于对查询的结果分组统计 having 子句:用于过滤分组显示的结果   案例: 1.显示每个部门的平均工资和最高工资?   select avg(sal),max(sal) from emp group by dept

Oracle多表查询与数据更新

2.1 多表查询 2.1.1 多表查询的基本语法(重点) 多表查询语法如下: SELECT {DISTINCT} *|查询列1 别名1,查询列2 别名2 FROM 表名称1 别名1,表名称2 别名2 {WHERE 条件(s)} {ORDER BY 排序字段 ASC|DESC,排序字段 ASC|DESC} 例:同时查询emp和dept表 SQL> select * from emp,dept; 发现返回了56条数据,emp一个才14条,dept表才4条.56=14*4. 查询emp表的记录数: S

Oracle SQL 经典查询练手第三篇

Oracle SQL 经典查询练手第三篇 本文分享的是Oracle SQL的经典查询第三篇,仅仅是作者自己的见解,如有问题,希望您给出建议或者方法.同时,欢迎广大读者们补充,如果您有经典的查询方式也可以拿出来我们共同分享,共同成长,共同进步. 本计算机上使用的是Oracle 11.2.0版本,使用scott用户登陆.使用的是系统自带的表. 表结构: describe employees; describe departments; describe locations; select *from

oracle中关联查询、分组查询

高级查询 1.关联查询作用:可以跨越多表查询 --查询出员工的名字和他所在部门的的名字//古老的写法select first_name,name from s_emp,s_dept where s_emp.dept_id = s_dept.id;//现在的写法select e.first_name,s.name from s_emp e join s_dept s on e.dept_id = s.id;语法:select 列,列,列 from 表1 join 表2on 表1外键=表2主键 案例

oracle 的分页查询与mysql 的分页查询

oracle 的分页查询: select * from (select o.*,rownum rn  from Persons o) where rn >40 and rn <=60 : mySQL 的分页查询: select o.*  from Persons o limit 40,20 ;              limit (偏移条数,数据条数) SQLServer :top  select top 4 * from order by hiredate      自注: 显示第一个到第

Oracle EBS-SQL (SYS-11):查询系统已打的PATCH.sql

select a.patch_name,         b.DRIVER_FILE_NAME,         c.language,         b.creation_datefrom apps.ad_applied_patches    a,        apps.ad_patch_drivers      b,        apps.ad_patch_driver_langs c where a.applied_patch_id = b.applied_patch_id     

Oracle EBS-SQL (SYS-12):查询各Profile的设置情况.sql

SELECT pro.profile_option_name, pro.user_profile_option_name, lev.level_type TYPE, --lev.level_code, lev.level_name, prv.profile_option_value FROM apps.fnd_profile_options_vl pro, applsys.fnd_profile_option_values prv, (SELECT 10001 level_id, 'Site'