第一步,新建四张表

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

以上四张表纯属瞎建

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

第一种:

第二种:

从这我们就可以看出第一个区别,当我们使用第一种方法的时候,如果关联表中没有出现与左表关联的数据,那么结果是不会显示该条数据的,而用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. c++/cli中app.config
  2. log4jdbc mysql_[简单]log4jdbc-log4j2配置简记_MySQL
  3. 实时手势识别 【手部跟踪】Mediapipe中的hand
  4. Java 中 notify 和 notifyAll 有什么区别?
  5. 七牛上传图片问题总结
  6. ArcGIS 赋予不同指标权重计算综合结果
  7. 求教:.Net Framework 3.5 SP1安装失败
  8. 抗量子加密:为什么你迫切需要它
  9. 度量学习中的马氏距离
  10. 鹏哥C语言笔记分享P4
  11. 安卓手机上最好的3个epub阅读器
  12. linux桌面分辨率太高,将Ubuntu调整到高DPI分辨率屏幕
  13. 单基因gsea_单基因如何干湿结合发5分+泛癌分析
  14. 转自啄木鸟学院-IT行业培训班出来的人真的不行吗?
  15. html中a标签的种类
  16. MySql事务4种隔离级别以及悲观锁和乐观锁
  17. 【渝粤教育】电大中专计算机职业素养 (12)作业 题库
  18. 惊魂一小时:全国域名解析首遭大规模污染
  19. 提示The import XXX cannot be resolved
  20. RHCE之路--15更新 Ansible 库的密钥

热门文章

  1. git 取消合并与撤销
  2. android之broadcastreceiver 耳机按键,Android BroadcastReceiver 实时监听耳机拔出事件
  3. ParticleSystem中的Culling Mode对耗时有怎样的影响
  4. AAC Advanced Audio Coding(高级音频编码)资料整理
  5. 【唐老狮】C#——转义字符
  6. python实现四则运算_四则运算 Python实现(杨浩政,张兆敏)
  7. 【bzoj 3238】差异
  8. 【Ocr】ocr表格检测;返回结果说明;可定制表格模板识别处理
  9. java中用new创建一个对象的过程解析
  10. 《红面书生》的算法博客