如何使用left join,以及left join的分析
第一步,新建四张表
人员表 职位表 组别表 人员职位关联表
以上四张表纯属瞎建
如果我们需要查询所有人员的组别职位信息,我们又多种解决方式,我这边先写两种
第一种:
第二种:
从这我们就可以看出第一个区别,当我们使用第一种方法的时候,如果关联表中没有出现与左表关联的数据,那么结果是不会显示该条数据的,而用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的分析相关推荐
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join?
SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join? SQL的连接(join)有哪些常见形式? sql连接查询:把多张表的列组合在一起,产 ...
- sql之left join、right join、inner join的区别,连接自己时的查询结果测试
sql之left join.right join.inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包 ...
- mysql的left join和inner join的效率对比,以及如何优化
一.前言 最近在写代码的时候,遇到了需要多表连接的一个问题,初始sql类似于: select * from a left join b on a.x = b.x left join c on c.y ...
- SQL性能--left join和inner join的运行速度与效率
①大家都知道,sql尽量使用数据量小的表做主表,这样效率高,如果使用数据量大的表做主表,此时使用left join 就会比较慢,即使关联条件有索引.但如果使用inner join速度就较快.因为inn ...
- Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略
Database之SQLSever:SQL命令实现查询之多表查询.嵌套查询.分页复杂查询,删除表内重复记录数据.连接(join.left join和right join简介及其区别)等案例之详细攻略 ...
- Access SQL中Left Join、Right Join和Inner Join的使用
1.表结构 表A 表B 2.Left Join 示例:2.1 Select * From A left join B on A. ...
- oracle join详解,inner join和left join之间的区别详解
前言 关于inner join 与 left join 之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了. 需求是从数据库查数据,在 ...
- 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条),再 ...
- Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解
Mysql hash join之classic hash join CHJ过程详解 hash join的历史 优化器里的hash join算法在SQL Server.Oracle.postgress等 ...
最新文章
- c++/cli中app.config
- log4jdbc mysql_[简单]log4jdbc-log4j2配置简记_MySQL
- 实时手势识别 【手部跟踪】Mediapipe中的hand
- Java 中 notify 和 notifyAll 有什么区别?
- 七牛上传图片问题总结
- ArcGIS 赋予不同指标权重计算综合结果
- 求教:.Net Framework 3.5 SP1安装失败
- 抗量子加密:为什么你迫切需要它
- 度量学习中的马氏距离
- 鹏哥C语言笔记分享P4
- 安卓手机上最好的3个epub阅读器
- linux桌面分辨率太高,将Ubuntu调整到高DPI分辨率屏幕
- 单基因gsea_单基因如何干湿结合发5分+泛癌分析
- 转自啄木鸟学院-IT行业培训班出来的人真的不行吗?
- html中a标签的种类
- MySql事务4种隔离级别以及悲观锁和乐观锁
- 【渝粤教育】电大中专计算机职业素养 (12)作业 题库
- 惊魂一小时:全国域名解析首遭大规模污染
- 提示The import XXX cannot be resolved
- RHCE之路--15更新 Ansible 库的密钥
热门文章
- git 取消合并与撤销
- android之broadcastreceiver 耳机按键,Android BroadcastReceiver 实时监听耳机拔出事件
- ParticleSystem中的Culling Mode对耗时有怎样的影响
- AAC Advanced Audio Coding(高级音频编码)资料整理
- 【唐老狮】C#——转义字符
- python实现四则运算_四则运算 Python实现(杨浩政,张兆敏)
- 【bzoj 3238】差异
- 【Ocr】ocr表格检测;返回结果说明;可定制表格模板识别处理
- java中用new创建一个对象的过程解析
- 《红面书生》的算法博客