Oracle(四)多表查询

---oracle中专用外连接
select *
from emp e,dept d
where e.deptno(+) = d.deptno--查询出员工姓名,员工领导姓名
--自连接:其实就是站在不同的角度把一张表看成多张表
select e1.ename 员工姓名,e2.ename 领导姓名
from emp e1 , emp e2
where e1.mgr=e2.empno; --把e1表看成员工表,e2表看成部门表, 员工表的领导是部门表的员工select * from emp;----查询出员工姓名,员工部门名称,员工领导姓名,员工领导部门名称
select e1.ename 员工姓名,d1.dname 员工部门名称,e2.ename 领导姓名,d2.dname 领导部门名称
from emp e1,emp e2,dept d1,dept d2
where e1.mgr=e2.empno and e1.deptno = d1.deptno and e2.deptno = d2.deptno--子查询
--子查询返回一个值
---查询出工资和SCOTT一样的员工信息
select *
from emp
where sal in --安全起见,这里不用= 因为查询条件不是主键,有可能存在多条记录,存在隐患
(select sal from emp where ename='SCOTT')
--子查询返回一个集合
--查询出工资和10号部门任意员工一样的员工信息
select *
from emp
where sal in
(select sal from emp where deptno = 10)--子查询返回一张表
--查询出每个部门最低工资,和最低工资员工姓名,和该员工所在部门名称
--1.先查询出每个部门最低工资
select
deptno,min(sal)最低工资
from emp
group by deptno;
--2.三表联查,得到最终结果
select t.deptno,msal,e.ename,d.dname
from (select
deptno,min(sal) msal
from emp
group by deptno) t ,emp e, dept d
where t.deptno=e.deptno
and t.msal=e.sal
and e.deptno = d.deptno;--Oracle中的分页查询--rownum行号:当我们做select操作的时候,
--每查询出一行记录,就会在该行上加上一个行号,行号从1开始,依次递增,不能跳着走
-----emp表工资倒序排列后,每页五条记录,查询第二页
--排序操作会影响rownum的操作
select rownum ,e.*
from emp e
order by e.sal desc;-----如果涉及到排序,但是还要使用rownum的话,我们可以再次嵌套查询
-----emp表工资倒序排列后,每页五条记录,查询第二页
--rownum行号不能写大于一个正数
select * from(
select rownum rn,t.* from (
select  * from emp  order by sal desc) t
where rownum<11)
where rn>5;

Oracle(四)多表查询相关推荐

  1. Oracle数据库—— 多表查询

    Oracle数据库-- 多表查询 (一)笛卡尔问题 1.笛卡尔积会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 2.为了避免笛卡尔积,可以在WHERE加入有效的连接条件 ( ...

  2. Oracle SQL多表查询

    曾经一段时间我对oracle的多表查询搞的云里雾里,究其原因:oracle自己的语法和SQL国际标准语法混用.此文章仅适合oracle 菜鸟,老鸟直接飞过- 多表连接类型(SQL 1999标准) • ...

  3. oracle把所有表查询权限赋与另一用户

    oracle把所有表查询权限赋与另一用户. 2008-02-01 9:07 昨天有一同事问如何把oracle里一个用户所有表查询权限赋与另一用户,在网上查了好像没有现成的一劳永逸的语句,只能手了一个批 ...

  4. Oracle EBS 常用表 查询语句

    ORACLE EBS常用表查询语句 1.  OU.库存组织 SELECT hou.organization_id ou_org_id,           --org_id   hou.name ou ...

  5. Oracle中多表查询再按时间倒序

    我在工作中在Oracle中多表查询再按时间倒序时,用order by 表名.datatime desc 总是实现不了. 不过最后问杨鹃最后和我说可以把我们查询的总个sql语句做为一个表来排序: sel ...

  6. ORACLE SQL 多表查询

    ORACLE SQL 多表查询 开发工具与关键技术:Oracle sql*plus PLSQL Developer SQL 撰写时间:2019年05月08日 说明:顾名思义,多表就是多个表连接起来进行 ...

  7. Oracle数据库多表查询

    多表查询就是说从多个表中获取相应的数据. (1)笛卡尔积[连接条件无效或被省略,两个表的所有行都发生连接,所有行的组合都会返回(n*m)] SQL> select e.ename,d.dname ...

  8. 如何使用Oracle的外部表查询警告日志文件

    从Oracle9i版本开始,Oracle的外部表技术(Oracle External Tables)有了很大的增强,通过外部表访问外部数据增强了Oracle数据库和外部数据源进行数据交互能力,对于数据 ...

  9. Oracle.day01多表查询与联表查询

    -- 此时,只要exists中的查询结果有一条或一条以上的数据时,执行前面的语句.-- exists中的查询结果没有数据时,则不运行前面的语句. select * from sysuserwhere ...

最新文章

  1. 实战SSM_O2O商铺_22【商铺列表】Service层开发
  2. Graphviz-Gdot语言学习
  3. C#动态生成XML并在前台用javascript读取
  4. 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)
  5. Oracle入门(十二J)之同义词
  6. java二叉树算法_JAVA 二叉树算法 (遍历、深度、汇总求和)
  7. 程序员必备技能之单元测试
  8. 华硕P4P800-X 主板南桥芯片又烧坏了......
  9. AtCoder Beginner Contest 171 B - Mix Juice
  10. 附合导线近似平差计算
  11. 推荐一款免费开源的javascript电子表格:x-sheet
  12. dms虚拟服务器,dms服务器
  13. web 自动化测试 浏览器及驱动下载地址大全
  14. 字节跳动面试锦集(二):项目HR高频面试总结
  15. win10无线网一直未连接到服务器,win10系统未识别无线网络无法连接怎么办
  16. 两个质数互质是_科学网—理解黎曼猜想(二)两个自然数互质的概率是多少? - 袁岚峰的博文...
  17. [脚本]用windows批处理文件自动化Python(虚拟)环境的配置
  18. 数据结构实训之——哈夫曼树压缩文件和解压文件(C语言)
  19. 7天物联网智能家居实战训练营(百问网)-day1
  20. 常见的厂家的加固方式做一下总结

热门文章

  1. mysql fm999990.99999_Oracle如何显示小数点前面的0
  2. c语音学习-输入一个字母,输出其对应的ASCII码
  3. Unity2020.1新功能探路:脚本开发相关更新
  4. Cmake-add_library()
  5. OpenShift 4 - Knative教程 (1) 创建Serverless运行环境
  6. 微软不允许用户卸载 Chromium Edge 浏览器
  7. 使用Entity Framework Core,Swagger和Postman创建ASP.NET Core Web API的分步指南
  8. odoo10参考系列--ORM API 二(新旧API兼容性、模型参考和方法修饰符)
  9. 深入理解计算机系统第四版_《深入理解计算机系统》读书笔记 —— 第一章 计算机系统漫游...
  10. antdesign 柱状图_ant design pro (十)advanced 图表