Oracle左连接,右连接

数据表的连接有:
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 周林     一年级二班
            一年级三班

以上语句是右连接:
即"(+)"所在位置的另一侧为连接的方向,右连接说明等号右侧的所有
记录均会被显示,无论其在左侧是否得到匹配。也就是说上例中,无
论会不会出现某个班级没有一个学生的情况,这个班级的名字都会在
查询结构中出现。

反之:
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左连接,右连接的更多相关文章

  1. mysql左连接 右连接 内连接的区别

    mysql左连接 右连接 内连接的区别 1.内连接,显示两个表中有联系的所有数据; 2.左链接,以左表为参照,显示所有数据,右表中没有则以null显示 3.右链接,以右表为参照显示数据,,左表中没有则 ...

  2. ORACLE 左连接 右连接 内连接 外连接 全连接 五中表连接方式

    1.左连接 :left join 2.右连接:right join 3.内连接:inner join 4.外连接:outer join 5.全连接:full join

  3. mysql 内连接 左连接 右连接 外连接

    mysql> desc student;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | ...

  4. SQL Server之内连接 左连接 右连接 全连接 交叉连接

    SELECT * FROM Table_A GO SELECT * FROM Table_B GO --内连接 SELECT a.*, b.* FROM Table_A a JOIN Table_B ...

  5. mysql 左连接 右连接 内链接

    一般所说的左连接,右连接是指左外连接,右外连接.做个简单的测试你看吧.先说左外连接和右外连接:[TEST1@orcl#16-12月-11] SQL>select * from t1;ID NAM ...

  6. Mysql之左连接右连接内连接——示例 (转)

    下面是两张表 表stu 表tech 1.右连接 当使用右连接语句查询时,返回结果如下: 1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.na ...

  7. mysql 数据操作 多表查询 多表连接查询 外链接之左连接 右连接

    1.外链接之左连接:优先显示左表全部记录   left join 在内连接的基础上保留左表的记录 即便左表有一条记录和右表没有关系,也把他留下 mysql> select * from empl ...

  8. linq的左连接右连接内连接用法

    1.左连接: var LeftJoin = from e in ListOfEmployees join d in ListOfDepartment on e.DeptID equals d.ID i ...

  9. mysql中的左连接右连接内连接

    一. 初始化SQL语句 /*join 建表语句*/ drop database if exists test; create database test; use test; /* 左表t1*/ dr ...

随机推荐

  1. Google大数据三篇著名论文----中文版

    Google File System中文版 Google Bigtable中文版      Google MapReduce中文版

  2. Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作

    前段时间我们游戏server升级到开发环境Java8,这些天,我再次server的线程模型再次设计了一下,耗费Lambda表情. LambdaJava代码.特别是丑陋不堪的匿名内部类,这篇文章主要就是 ...

  3. 7-days-asp-dotnet-mvc-day1

    目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 今天是开心的一天.因为我们终于来到了系列学习的最后一节.我相信你喜欢之前的课程,并从中学到了许多. ...

  4. python下载地址到迅雷qq旋风下载

    迅雷和qq旋风下载,有加速和离线功能,非常方面,我是在网上看到的原始地址和迅雷地址,qq旋风地址的转化原理.然后用python+pyqt写了一个client 原理: 迅雷: 迅雷下载地址=" ...

  5. PowerDesigner教程

    PowerDesigner是一款功能很强大的建模工具软件,足以与Rose比肩,相同是当今最著名的建模软件之中的一个.Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesi ...

  6. newlisp获得bash该命令的退出状态

    newlisp exec你可以运行bash命令.但如何返回状态来运行它? 特别是,我需要监控hdfs dfs -test 结果返回.经过一番摸索,我发现了一个简单的答案: #!/usr/bin/new ...

  7. JavaEE(6) - JMS消息选择和查看

    1. JMS消息的类型.消息头和消息属性 消息类型: StreamMessage MapMessage TextMessage ObjectMessage BytesMessage JMS消息中的消息 ...

  8. 包装类、Object类——Java笔记(八)

    包装类:     基本数据类型的包装类     基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float ...

  9. shell 命名管道,进程间通信

    命名管道基础 命名管道也被称为FIFO文件, 在文件系统中是可见的,并且跟其它文件一样可以读写! 命名管道特点: 当写进程向管道中写数据的时候,如果没有进程读取这些数据,写进程会堵塞 当读取管道中的数 ...

  10. opengl微开发之1-从零開始

    对OpenGL有一点了解之后,如今開始真正编写代码. 今天的内容: 使用FreeGLUT创建OpenGL的上下文环境 初始化GLEW 创建一个OpenGL的的模板范例 第一步: 一个OpenGL的上下 ...