ORACLE关联查询

简介:
关联查询
      多张表,而表与表之间是有联系的
       是通过字段中的数据的内在联系来发生
       而不是靠相同的字段名来联系的或者是否有主外键的联系是没有关系的
      select dname,ename from emp,dept;
         笛卡尔积  (无意义的)
      --当2个表作关联查询的时候一定要写关联的条件
      --N个表 关联条件一定有N-1个
      select dname,ename from mydept,myemp
       where mydept.no = myemp.deptno;

      多表查询的时候一定要有关联的条件
        --使用的表的全名 
        select dname,ename from emp,dept
         where emp.deptno = dept.deptno ;
        
        --使用表的别名
         select dname,ename,a.deptno from emp a,dept b
         where a.deptno = b.deptno and a.deptno = 10;
       --等值连接(内连接-两个表的数据作匹配a.deptno = b.deptno )
         select dname,ename,a.deptno from
         emp a inner join dept b
         on a.deptno = b.deptno;
         where a.deptno = 10;
       --on写连接条件的
       --where中写别的条件
       --使用where/on
         select dname,ename,a.deptno from emp a,dept b
         where a.deptno = b.deptno and a.deptno=10;
         
          --on中写连接条件
          --where中写其他的条件
          select dname,ename,a.deptno from
         emp a inner join dept b
         on a.deptno = b.deptno 
         where a.deptno = 10 ;
       --外连接
         左外连接 右外连接  全外连接
         (+)写法只有在ORACLE中有效
        select dname,ename,b.deptno
        from emp a,dept b
        where a.deptno(+) = b.deptno;
       --标准写法
         select dname,ename,b.deptno
        from emp a right outer join dept b
        on a.deptno = b.deptno;        

        select dname,ename,b.deptno
        from emp a,dept b
        where a.deptno = b.deptno(+);
    --标准写法
         select dname,ename,b.deptno
        from emp a left outer join dept b
        on a.deptno = b.deptno;        
    --标准写法(全外联)  
           select dname,ename,b.deptno
        from emp a full outer join dept b
        on a.deptno = b.deptno;     
   
    --自连接
        select a.ename as 员工姓名,b.ename as 经理名字 from emp a,emp b
        where a.mgr = b.empno(+);
              a.empno = b.mgr  ???????









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/242980,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
SQL Oracle 关系型数据库
Oracle查询优化-查询只包含数字或字母的数据
【2月更文挑战第4天】【2月更文挑战第10篇】查询只包含数字或字母的数据
608 1
|
11月前
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(五)
Oracle 代码异常查询
263 0
|
3月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle并行查询
【7月更文挑战第12天】
79 15
|
3月前
|
Oracle 关系型数据库 数据处理
|
3月前
|
SQL 监控 Oracle
|
3月前
|
SQL 监控 Oracle
|
5月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
107 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
5月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
61 1
|
11月前
|
SQL Oracle 关系型数据库
Oracle 代码异常查询(九)
Oracle 代码异常查询
345 0
|
5月前
|
SQL Oracle 关系型数据库
Oracle系列之八:SQL查询
Oracle系列之八:SQL查询

推荐镜像

更多