`

ORACLE左右连接

阅读更多
    http://blog.163.com/yuxiangtong0524@126/blog/static/8008616320103624845309/
1.ORACLE左右连接 - yuxiangtong0524@126 - **小鱼儿**博客

左连接 
  a.a=b.b(+) 
  右连接 
  a.a(+)=b.b 

2.ORACLE左右连接 - yuxiangtong0524@126 - **小鱼儿**博客

  create   table   dali.test1(a   int,b   int); 
  create   table   dali.test2(a   int,b   int); 
  
  insert   into   dali.test1   values(1,456); 
  insert   into   dali.test1   values(2,427); 
  insert   into   dali.test2   values(1,45456); 
  insert   into   dali.test2   values(3,45656); 
  
  ---内连接 
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a=b.a; 
  
  ---左连接 
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a=b.a(+); 
  
  ---右连接 
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a(+)=b.a; 
  
  ---完全连接 
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a=b.a(+) 
  union 
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a(+)=b.a; 
  
  ---迪卡尔 
  select   *   from   dali.test1,   dali.test2;


3.数据表的连接有:
1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现
2、外连接: 包括
(1)左外连接(左边的表不加限制)
(2)右外连接(右边的表不加限制)
(3)全外连接(左右两表都不加限制)
3、自连接(连接发生在一张基表内)
select a.studentno, a.studentname, b.classname
  from students a, classes b
  where a.classid(+) = b.classid;
STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
    1 周虎     一年级一班
    2 周林     一年级二班
    3              一年级三班
以上语句是右连接:
即"(+)"所在位置的另一侧为连接的方向,右连接说明等号右侧的所有
记录均会被显示,无论其在左侧是否得到匹配。也就是说上例中,无
论会不会出现某个班级没有一个学生的情况,这个班级的名字都会在
查询结构中出现。
反之:
select a.studentno, a.studentname, b.classname
  from students a, classes b
  where a.classid = b.classid(+);
STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
    1 周虎     一年级一班
    2 周林     一年级二班
    3 钟林达
则是左连接,无论这个学生有没有一个能在一个班级中得到匹配的部门号,
这个学生的记录都会被显示。
select a.studentno, a.studentname, b.classname
  from students a, classes b
  where a.classid = b.classid;
这个则是通常用到的内连接,显示两表都符合条件的记录
总之,
左连接显示左边全部的和右边与左边相同的
右连接显示右边全部的和左边与右边相同的
内连接是只显示满足条件的! ......
分享到:
评论

相关推荐

    oracle 左连接 右连接学习

    Oracle 左连接右连接学习 Oracle 中的连接(Join)是一种强大的工具,用于将两个或多个表合并成一个结果集。在学习 Oracle 连接时,可能会感到困惑,因为有多种类型的连接,每种类型都有其特点和应用场景。下面我们...

    Oracle左连接返回多条记录中一条记录的查询语句

    Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录

    oracle左右连接方法

    本文将详细介绍Oracle中的左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)、全连接(Full Join)以及交叉连接(Cross Join)的方法,并通过示例来帮助理解每种连接的特点。 ### 一、左连接(Left...

    Oracle 左连接、右连接

    本篇文章将深入探讨Oracle中的左连接(LEFT JOIN)和右连接(RIGHT JOIN),这两种连接方式都是为了在不同表之间建立联系,特别是在数据不完全匹配的情况下。 首先,我们来看一下左连接(LEFT JOIN)。左连接返回左...

    Oracle左右连接及一些练习资料

    在Oracle SQL中,左连接通常用以下语法表示: ```sql SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column = table2.column; ``` 在这个语句中,`table1`是左表,`table2`是右表,`column`是...

    Oracle左连接,右连接.doc

    ### Oracle左连接与右连接详解 #### 一、概述 在数据库操作中,表与表之间的连接是非常重要的操作之一。连接操作可以将多个表的数据整合在一起,形成更完整的信息视图。根据不同的需求,Oracle提供了多种连接方式...

    Oracle数据库左外连接

    Oracle连接有多中,我是在平常开发项目过程中用到的Oracle左连接进行了简单的阐述。

    oracle数据库 左连接 右连接 自连接 。。

    这里主要涉及三种类型的连接:左连接、右连接和自连接。理解这些连接方式对于有效地管理和查询数据库至关重要。 1. **左连接(Left Join)**: 左连接返回左表(也就是连接操作中指定的第一个表)的所有记录,以及...

    关于Oracle多表连接,提高效率,性能优化操作

    这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...

    强制释放Oracle数据连接方案

    ### 强制释放Oracle数据连接方案 在日常的数据库管理工作中,我们经常遇到数据库连接超限的情况,这通常是由于大量的数据库连接未被正确关闭或回收所导致的。本文将详细介绍如何查看并调整Oracle数据库的连接数量...

    oracle数据库表左连接右连接全连接的认识

    左连接和右连接的区别在于基准表的选择,左连接将左边的表作为基准表,全表数据都要显示,而右连接将右边的表作为基准表,全表数据都要显示。例如: `SELECT e.empno, e.ename, d.dname FROM emp e LEFT JOIN dept ...

    ORACLE表连接方式

    本文将对Oracle中的几种主要表连接方式进行详细介绍:内连接(Inner Join)、自然连接(Natural Join)、左外连接(Left Outer Join)、右外连接(Right Outer Join)、笛卡尔连接(Cartesian Join)、索引连接...

    Oracle 左连接(+)加号用法及常用语法之间的关系

    Oracle数据库中的左连接(LEFT JOIN)是一种用于合并两个或更多表的数据的SQL查询方法,它返回左表(第一个表)的所有记录,即使右表(第二个表)中没有匹配的记录。"+"加号在旧版Oracle SQL中是表示左连接的一个...

    Oracle左(外)、右(外)、全(外)、(内)连接语法与SQL标准的比较

    本文将深入探讨Oracle中的左(外)、右(外)、全(外)以及内连接的语法,并将其与SQL标准进行比较,以帮助读者更好地理解和应用这些关键概念。 ### 左(外)连接(Left Outer Join) #### SQL标准语法 左(外)连接返回左...

    oracle 左右链接

    oracle中左右连接left /right join 貌似不起作用,使用(+)代替。

    oracle多表连接技巧

    ### Oracle多表连接技巧详解 #### 一、引言 在Oracle数据库中,多表连接是一种非常实用且常用的技术,它允许用户从多个表中获取数据,并基于特定条件进行匹配和整合。本文将详细介绍Oracle中多表连接的各种类型及其...

    webphere下oracle连接池的配置

    ### WebSphere 下 Oracle 连接池的配置详解 #### 一、概述 在WebSphere环境下配置Oracle连接池是一项重要的任务,它能够显著提高应用程序的性能和响应速度。连接池技术可以有效管理数据库连接资源,避免频繁创建和...

Global site tag (gtag.js) - Google Analytics