–SQL99 多表查询

  • –笛卡尔积:使用cross join

    select * from emp cross join dept;
    –自然连接
    –使用select 内容 from 表名 natural join 表名
    –特点:1底层先笛卡尔积,然后按照所有的同名同值字段进行等值筛选。
    –问题1:如果想按照部分字段结果筛选怎么办?
    –问题2:如果字段名不同,但是值相同如何筛选?
    select * from emp natural join dept;
    –解决1:使用using关键字
    –作用1:使用指定的字段对联合查询的结果进行等值筛选
    –注意:指明的字段内容必须是两表同名同值字段
    –使用:select 内容 from 表名 inner join 表名 using(字段)
    select * from emp inner join dept using(deptno);
    –解决2:使用on关键字进行自定义连接条件筛选(等值筛选,不等值筛选)
    –注意:普通筛选条件使用where进行,不要使用on进行。
    –使用:select 内容 from 表名 inner join 表名 on 连接条件 where 普通筛选条件
    select * from emp e inner join dept d on e.deptno=d.deptno where sal>2000;
    –外连接

  • –左外连接

     select * from emp e left join dept d on e.deptno= d.deptno;
    
  • –右外连接

     select * from emp e right join dept d on e.deptno=d.deptno;
    
  • –全外连接

     select * from emp e full  join dept d on e.deptno=d.deptno;
    
  • –自连接

    –查询员工的领导
    select e1.ename ||’ 领导是 ’ || e2.ename from emp e1 inner join emp e2 on e1.mgr=e2.empno;
    select * from emp where mgr is null;

    上图中有5个人没有上级领导。所以查询结果为

oracle中inner left right full 的使用相关推荐

  1. oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园

    1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...

  2. oracle自增列问题i,关于oracle中自增列问题

    昨天去面试,面试官文oracle中有没有自增列,平时没留意,今天查了一下资料,做了个例子. oracle中没有自增列,可以设定, 但手写方法.序列或触发器都可以实现,下面是我实现的一种方法 ----- ...

  3. C# 实现Oracle中的数据与Excel之间的转换

    最近项目要求实现数据库之间数据在各个数据库之间导入导出,在此做个笔记 1. 将Oracle中的表导入到Excel中,反之亦然 private static readonly string connec ...

  4. Oracle中Hint深入理解(原创)

    http://czmmiao.iteye.com/blog/1478465 Hint概述  基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明 ...

  5. mysql nextval同步锁_mysql中实现类似oracle中的nextval函数

    我们知道mysql中是不支持sequence的,一般是建表的时间使这个字段自增. 如       create table table_name(id int auto_increment prima ...

  6. 从oracle中读取图片,Pb从oracle中读取和保存图片

    Pb从oracle中读取和保存图片 (2008-12-12 12:23:20) 转载 分类:编程 标签: it //保存图片 //选择文件 string pname, fname integer va ...

  7. Oracle中merge into的使用

    http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5 ...

  8. oracle中创建触发器

    从csdn上面看到一个如何创建触发器的问题,感觉自己很有必要保存学习,特写下来: 条件: 现有A.B两张表 A: 工号 姓名 密码 性别 年龄 ... B: 工号 姓名 密码 当对A表中的" ...

  9. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  10. 理解oracle中连接和会话

    理解oracle中连接和会话 1.  概念不同:概念不同: 连接是指物理的网络连接. 在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行. 2.   ...

最新文章

  1. 一次mysql瘫痪解救
  2. php-Facade(外观模式)
  3. Quartz-SimpleTrigger解读
  4. 数据挖掘 pandas基础入门之查看数据
  5. mysql mybatis模糊查询语句_详解MyBatis模糊查询LIKE的三种方式
  6. [转] 以 async/await 为例,说明 babel 插件怎么搭
  7. A+B Problem III -- ACM解决方法
  8. 安徽大学计算机考研学硕2019初试单科线,安徽大学2019年考研复试分数线已公布...
  9. HIve之DML 聚合分组应用函数 静动态分区表
  10. linux虚拟机调整分辨率
  11. 像写C#一样编写java代码
  12. 黑客都怎么制作外挂?C++黑客编程收集的源码集合
  13. Android平台i2c-tools及16位地址读写,以及not executable: 64-bit ELF file解决办法
  14. pdf转word完全免费软件
  15. 不要重新发明轮子_请重新发明轮子
  16. 多节点什么网络取得技术性突破_中国学者研究“多节点量子网络”取得基础性突破...
  17. DNT tools 工具简介
  18. jqGrid双击事件,并获取双击行的各个属性值
  19. 从Antd 源码到自我实现之 Form表单
  20. 超实用!7 个优秀的 UI 交互动画技巧

热门文章

  1. $.ajaxSetup({}) --- js ajax统一配置
  2. access中本年度的四月一日_计算机二级ACCESS上机题
  3. 什么是路由器的带内、带外管理
  4. 如何回答「未来5年如何规划?」【面试核心问题8】
  5. opendaylight配置java环境_OpenDaylight开发环境搭建
  6. uboot-2010-03移植到tiny6410(1)
  7. 硬件工程师成长之路(7)——算法学习
  8. 【大咖有约】新媒传信黄湘龙:飞信数据库访问组件的演进历程
  9. thymeleaf 美国时间转换成中国时间
  10. Web3.0到底是什么?它关我们普通人什么事?