本篇文章小编给大家分享一下oracle多表简单查询代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
多表查询基本语法
笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合。
-- 笛卡尔积 select * from emp, dept;
oracle多表查询
prompt Importing table dept... set feedback off set define off insert into dept (DEPTNO, DNAME, LOC) values (1, '01事业部', '324'); insert into dept (DEPTNO, DNAME, LOC) values (2, '02事业部', '234'); insert into dept (DEPTNO, DNAME, LOC) values (3, '03事业部', '234'); insert into dept (DEPTNO, DNAME, LOC) values (4, '04事业部', '3244'); prompt Done.
prompt Importing table emp... set feedback off set define off insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('001', '小明', '运维', '9000', to_date('26-09-2021', 'dd-mm-yyyy'), 900, 800, '1'); insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('001', '小刚', 'hr', '7000', to_date('26-09-2021', 'dd-mm-yyyy'), 900, 800, '1'); insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('001', '小花', 'vue开发', '6000', to_date('26-09-2021', 'dd-mm-yyyy'), 900, 800, '1'); insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('001', '小贝', '软件工程师', '9000', to_date('26-09-2021', 'dd-mm-yyyy'), 900, 800, '2'); insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('001', '小涛', '数据中台', '11000', to_date('26-09-2021', 'dd-mm-yyyy'), 900, 800, '2'); insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('001', '小胜', '设计', '9000', to_date('26-09-2021', 'dd-mm-yyyy'), 900, 800, '2'); prompt Done.
prompt prompt Creating table DEPT prompt =================== prompt create table USERNAME.DEPT ( deptno NUMBER not null, dname VARCHAR2(10) not null, loc VARCHAR2(10) not null ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited ); prompt prompt Creating table EMP prompt ================== prompt create table USERNAME.EMP ( empno NVARCHAR2(20), ename NVARCHAR2(20), job NVARCHAR2(20), mgr NVARCHAR2(20), hiredate DATE, sal BINARY_DOUBLE, comm BINARY_DOUBLE, deptno NVARCHAR2(20) ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited ); prompt Done spool off set define on
多表查询
多表查询:多表查询是指基于两个或两个以上的表或者视图的查询。
--查询员工名,工资,以及员工所在部门的名称
select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno
--查询部门编号为10的部门名称,员工名称,工资
select d.dname,e.ename,e.sal from emp e,dept d where e.deptno=d.deptno and d.deptno='1'
--查询员工名称,工资,部门名称,并且按照部门名称升序排列
select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno order by d.dname
--2.自连接
-- 自连接:自连接是指在同一张表上的连接查询
--查询员工的姓名以及员工所对应老板的姓名
select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr=e2.empno
3.子查询(单行子查询)
子查询:子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。
--查询与SMITH在同一部门的员工 select * from (select e.deptno from emp e,dept t where e.deptno=t.deptno and e.ename='SMITH') s1,emp e where e.deptno =s1.deptno select * from emp where deptno=(select deptno from emp where ename='SMITH');
多行子查询
多行子查询是指返回多行数据的查询。
在多行子查询中使用all操作符
--查询与10号部门工作相同的员工名称,工作,工资,部门编号 select ename,job,sal,deptno from emp where job in (select job from emp where deptno=1); --查询比30号部门所有人工资高的员工姓名,职位,工资,部门编号 select ename,sal,job,deptno from emp where sal>all(select sal from emp where deptno=1); --在多行子查询中使用any操作符 --查询比1号部门任意人工资高的员工姓名,职位,工资,部门编号 select ename,sal,job,deptno from emp where sal>any(select sal from emp where deptno=1);
多列子查询
单行子查询是指子查询返回单行,单列的数据
多行子查询是指子查询返回多行,单列的数据
多列子查询是指子查询返回多列数据的查询
--查询与SMITH的部门和职位完全相同的员工信息 select * from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH');
在from子句中使用子查询
在from子句中使用子查询时,该子查询会被当做一个视图来对待,因此也就叫做内嵌图,当在from子句中使用子查询时,必须给子查询起别名。(换句话说就是把子查询查出来的数据作为一张新表,在进行查询)
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整