此图仅限于理解他们之间的关系,下面还有举例,例子更好明白.

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
 inner join(等值连接) 只返回两个表中联结字段相等的行

下图是t1和t2两张表格

t1表格

t2表格

#1.
select * from
t1 a left join t2 b
on a.L1 = b.L2;

#2.
select * from
t2 a right join t1 b
on a.L2 = b.L1;

#3.
select * from
t2 a left join t1 b
on a.L2 = b.L1;

#4.
select * from
t2 a inner join t1 b
on a.L2 = b.L1;

#5.
select * from
t2 a,t1 b
where a.L2 = b.L1;

#6.
select * from
t1 a left join t2 b
on a.L1 = b.L2
where a.L1 = b.L2;

#7.
select * from
t1 a left join t2 b
on a.L1 = b.L2
where a.L1 = null;

#8.
select * from
t1 a left join t2 b
on a.L1 = b.L2
where b.L2 is null;

#9.
select * from
t1 a left join t2 b
on a.L1 = b.L2
where b.L2 is not null;

#10.
select * from
t1 a left join t2 b
on a.L1 = b.L2
where a.L1 = 1;

#11.
select * from
t1 a left join t2 b
on a.L1 = b.L2
where b.L2 = 1;

left join和right join和inner join的更多相关文章

  1. SQL Server之LEFT JOIN、RIGHT LOIN、INNER JOIN的区别

    很多人刚入门的时候分不清LEFT JOIN.RIGHT LOIN 和 INNER JOIN的区别,对它们的定义比较模糊,今天就简单的介绍一下它们的区别,对于入门的人来说,应该能够帮助你们理解. lef ...

  2. SQL join中级篇--hive中 mapreduce join方法分析

    1. 概述. 本文主要介绍了mapreduce框架上如何实现两表JOIN. 2. 常见的join方法介绍 假设要进行join的数据分别来自File1和File2. 2.1 reduce side jo ...

  3. Sort merge join、Nested loops、Hash join(三种连接类型)

    目前为止,典型的连接类型有3种: Sort merge join(SMJ排序-合并连接):首先生产driving table需要的数据,然后对这些数据按照连接操作关联列进行排序:然后生产probed ...

  4. SQL高级查询技巧(两次JOIN同一个表,自包含JOIN,不等JOIN)

    掌握了这些,就比较高级啦 Using the Same Table Twice 如下面查询中的branch字段 SELECT a.account_id, e.emp_id, b_a.name open ...

  5. 【fork/join】java并发编程-fork/join示例

    package com.chinamobile.epic.tako.common.graphite.query.sync.impl; import com.google.common.collect. ...

  6. 比较一下inner join(可直接简写为join)和where直接关联

    SELECT * FROM A ,B WHERE A.ID = B.ID 是比较常用的2个表关联.之前一直用这个,后来换了家公司发现这家公司的报表大多数都是用inner join,稍微研究了一下.查阅 ...

  7. JOIN中的外连接(external join)

    外连接: ---外连接并不要求连接的两表的每一条记录在对方表中都有一条匹配记录.要保留所有记录(甚至这条记录没有匹配的记录也要保留)的表成为保留表.外连接可以一句连接表保 留左表,右表和全部表的行二进 ...

  8. 44 答疑(三)--join的写法/Simple nested loop join的性能问题/Distinct和group by的性能/备库自增主键问题

    44 答疑(三) Join的写法 35节介绍了join执行顺序,加了straight_join,两个问题: --1 如果用left join,左边的表一定是驱动表吗 --2 如果两个表的join包含多 ...

  9. SQL——左连接(Left join)右连接(Right join)内连接(Inner join)

    概念(定义) ​首先还是介绍一下这三个的定义 ​Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来.结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足 ...

  10. webpack 参数1、context: path.resolve 2、path.join('', '..', 'aa') 3、 path.posix.join('static','/aa')

    1.context: path.resolve 项目入口路径 2. 3.

随机推荐

  1. 通过using声明改变个别成员的可访问性

    C++的语法中通过在派生类中使用using声明可以忽略继承方式 , 而让派生类对于基类的私有和保护成员具有特殊的访问权限 , 甚至可以改变派生类对象对于基类成员的访问权限 . 个人认为这种语法很容易让 ...

  2. ASP.NET_正则表达式_匹配HTML中的一行或多行

    一.匹配数字串/flash/([0-9]+).htm 二.匹配不含双引号的字符串<p class=\"w490\">([^\"]+)</p> 三. ...

  3. c# mvc权限系统

    登陆界面可以用index1,现在这个是仿照这个写的 登陆后的界面.模板都是套的,数据那个easyui自己写的 后台直接三层架构,dapper连处理数据后面加了autofac demo地址:https: ...

  4. 用Fiddler模拟低速网络环境【转】

    原文链接:http://caibaojian.com/fiddler.html 我们为什么要限速 限速对于web前端研发是非常重要的,由于开发者的机器一般配置都很高,并且是在localhost下来调试 ...

  5. php扩展库解释

    扩展库 说明 注解 php_bz2.dll bzip2 压缩函数库 无 php_calendar.dll 历法转换函数库 自 PHP 4.0.3 起内置 php_cpdf.dll ClibPDF 函数 ...

  6. TVM调试指南

    1. TVM安装 这部分之前就写过,为了方便,这里再复制一遍. 首先下载代码 git clone --recursive https://github.com/dmlc/tvm 这个地方最好使用--r ...

  7. Spring整合Hessian的使用

    该文章转赞自  https://www.cnblogs.com/ontheroad_lee/p/3797239.htm 个人感觉写的非常好,刚学习,先记录下来 1.1     Hessian简介 He ...

  8. 5.Struts2-Struts标签

    通用标签 1.property(取值) property:<s:property value="username"/> property 取值为字符串:<s:pr ...

  9. Mybatis Plus 使用详解

    Mybatis Plus 是Mybatis的增强插件,对数据库操作Mybatis Plus提供了抽象层次比Mybatis更高的操作方法. Wrapper是Mybatis Plus里拼接sql的包装类. ...

  10. 工作总结 [ActionName("ss123")] 更改路由中Action名称 获取或设置操作的名称