第一步,新建四张表

人员表                                         职位表                                              组别表                                   人员职位关联表

以上四张表纯属瞎建

如果我们需要查询所有人员的组别职位信息,我们又多种解决方式,我这边先写两种

第一种:

第二种:

从这我们就可以看出第一个区别,当我们使用第一种方法的时候,如果关联表中没有出现与左表关联的数据,那么结果是不会显示该条数据的,而用left join,左表不论后面的条件有没有关联数据,都会显示出来该表所有数据,这么说可能比较麻烦,我直接用数据给大家演示一下

on代表的是临时条件,也就是在建立临时表的时候的判断条件,不管on的条件是不是为真,都会返回左表数据,我们先来测试这个

我们看到前面正常查询是没有问题的,对应的,当我们的on条件不存在的时候,我们还是可以看到左表的所有数据,这就是on的作用,只是限定了右表的显示条件,并不会影响到左表数据

on条件的后面还可以添加and条件,我们也可以来试验一下

我们发现,同样的不管and条件是否符合左表都会完全显示,只是对右表的数据进行了筛选,那如果我们不需要显示为空的呢,那我们可以直接将and换为where,因为where是对生成的临时表的数据进行限制,但是如果这样我们也可以直接使用第一种方法,毕竟使用left join最重要的一点就是因为left join可以将我们需要的数据完全显示而不需要太多考虑判断条件

right join,full join,inner join,cross join基本上差不多

如何使用left join,以及left join的分析相关推荐

  1. sql语句中left join和inner join中的on与where的区别分析

    原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...

  2. SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join?

    SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join? SQL的连接(join)有哪些常见形式? sql连接查询:把多张表的列组合在一起,产 ...

  3. sql之left join、right join、inner join的区别,连接自己时的查询结果测试

    sql之left join.right join.inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录  right join(右联接) 返回包 ...

  4. mysql的left join和inner join的效率对比,以及如何优化

    一.前言 最近在写代码的时候,遇到了需要多表连接的一个问题,初始sql类似于: select * from a left join b on a.x = b.x left join c on c.y ...

  5. SQL性能--left join和inner join的运行速度与效率

    ①大家都知道,sql尽量使用数据量小的表做主表,这样效率高,如果使用数据量大的表做主表,此时使用left join 就会比较慢,即使关联条件有索引.但如果使用inner join速度就较快.因为inn ...

  6. Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略

    Database之SQLSever:SQL命令实现查询之多表查询.嵌套查询.分页复杂查询,删除表内重复记录数据.连接(join.left join和right join简介及其区别)等案例之详细攻略 ...

  7. Access SQL中Left Join、Right Join和Inner Join的使用

    1.表结构 表A                                     表B 2.Left Join 示例:2.1 Select * From A left join B on A. ...

  8. oracle join详解,inner join和left join之间的区别详解

    前言 关于inner join 与 left join 之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了. 需求是从数据库查数据,在 ...

  9. Mysql 优化器内部JOIN算法hash join On-Disk Hash Join Grace Hash Join Hybrid hash join过程详解

    Mysql 各种hash join算法讲解 hash join的概述 提到hash join之前自然得说Nest loop join,以两个表的关联为例,它其实是个双层循环,先遍历外层的表(n条),再 ...

  10. Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解

    Mysql hash join之classic hash join CHJ过程详解 hash join的历史 优化器里的hash join算法在SQL Server.Oracle.postgress等 ...

最新文章

  1. EyeDropper 开发实践
  2. Java基础知识回顾之七 ----- 总结篇
  3. jdeveloper_适用于JDeveloper 11gR2的Glassfish插件
  4. 每个努力奋斗过的人,被不公正的际遇砸了满头包的时候,都有那么一瞬间的代入感。出生就是hard模式的人,早已经历了太多的劳其筋骨饿其体肤,再多的人为考验只会摧毁人对美好的向往。...
  5. 虚拟化系列-VMware vSphere 5.1 虚拟机管理
  6. java持续集成soapui_接口自动化测试持续集成--Soapui接口功能测试参数化
  7. 图像识别实战——天气分类
  8. oracle标准正态分布函数,标准正态分布表 弄明白什么是标准正态分布
  9. Interactive Path Reasoning on Graph for Conversational Recommendation阅读笔记
  10. 为什么要给软件做测试?如何测试呢?
  11. [已解决]阿里云安全组开放端口,宝塔面板仍无法访问
  12. MySQL 中删除重复数据只保留一条
  13. 按键控制开关4017芯片数字电路
  14. 35岁到40岁,如何突破
  15. Oracle_Linux of Creation hr user for Oracle 18c oracle 练习的账户(hr user)
  16. 超5亿中国人的熬夜大赏,快看有你吗?
  17. Revit二次开发学习笔记
  18. Python-国内华为云下载一览表
  19. 【“工业大数据预测”系列】——第2篇:异常数据处理
  20. opencv生成3d模型_OCR深度实践系列:数据生成

热门文章

  1. java class.getmethod_java 反射使用 Class.getMethod 应注意
  2. springmvc笔记回顾——持续更新
  3. [回顾]windows安装mujoco200
  4. drools的简单入门案例
  5. Meanshift 和 Camshift
  6. 12 模式的模式:复合模式
  7. PDFBox打印PDF A4格式文档和定制规格条码实例
  8. python怎么批量下载年报_如何使用python批量下载统计年鉴中的excel网页?
  9. 大公司,一般都怎么开会?
  10. NXP JN5169 使用看门狗定时器