大家好我是艺霏,今天和大家谈一下数据库左连接和右连接有什么区别?

数据库中的左连接和右连接的区别可以概括为一句话来表示即左连接where只影响右表,右连接where只影响到左表
image.png

在这里推荐一个MySQL方面的教程

数据库中的左连接(left join)和右连接(right join)区别

左连接(Left Join)

1

select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID

左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。
简言之 Left Join影响到的是右边的表

右连接(Right Join)

1

select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID

检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。
简言之 Right Join影响到的是左边的表。

内连接(inner join)

1

select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID

它的功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同。

其他内容:

1、WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。

2、无论怎么连接,都可以用join子句,但是连接同一个表的时候,注意要定义别名,否则产生错误

(1)inner join:理解为“有效连接”,两张表中都有的数据才会显示left join:理解为“有左显示”,比如on a.field=b.field,则显示a表中存在的全部数据及a\b中都有的数据,A中有、B没有的数据以null显示

(2) right join:理解为“有右显示”,比如on a.field=b.field,则显示B表中存在的全部数据及a\b中都有的数据,B中有、A没有的数据以null显示

(3)full join:理解为“全连接”,两张表中所有数据都显示,实际就是inner +(left-inner)+(right-inner)

3、join可以分主次表 外联接有三种类型:完全外联,左联,右联。完全外联包含两张表的所有记录,左联是以左边的表为主,右边的为辅,右联则相反

4、一般要使得数据库查询语句性能好点遵循以下原则:

在做表与表的连接查询时,大表在前,小表在

不使用表别名,通过字段前缀区分不同表中的字段

查询条件中的限制条件要写在表连接条件前

尽量使用索引的字段做为查询条件

以上就是数据库左连接和右连接有什么区别的详细内容
在这里推荐一个我们的软件测试群:642830685,群内会不定期分享软件学测试方面的干货和行业资讯。

最后每天积累一点点,向着一飞冲天继续加油!

数据库左连接和右连接有什么区别!相关推荐

  1. MyBaties中多表查询及数据库左连接、右连接、内连接、全连接笔记

    本文最终目的是介绍MyBaties中多表查询方法,最难的就是多对多的查询方式,在此之前咱们先一起复习一下数据库的两表间的连接方式. 数据库表连接方式 数据库两个表之间有四种连接方式,其中包括左连接.右 ...

  2. mysql左连接含义_学习笔记-数据库左连接,右连接意义及区别

    1.左连接,右连接等的意义及区别: 1)笛卡尔积:CROSS JOIN 要理解各种JOIN首先要理解笛卡尔积.笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起. 所以,如果A表有n条记录, ...

  3. oracle in的用法_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法

    Oracle中的连接可分为,内连接(INNER JOIN).外连接(OUTER JOIN).全连接(FULL JOIN),不光是 Oracle,其他很多的数据库也都有这3种连接查询方式. Oracle ...

  4. mysql内外链接图_图解MySQL 内连接、外连接、左连接、右连接、全连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下mysql的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). mysql版 ...

  5. oracle 建表id自增长_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法...

    Oracle中的连接可分为,内连接(INNER JOIN).外连接(OUTER JOIN).全连接(FULL JOIN),不光是 Oracle,其他很多的数据库也都有这3种连接查询方式. Oracle ...

  6. 【MySQL】MySQL中的查询语句的详解----等值连接、左连接、右连接、全连接

    用两个表(t_worker,t_depart),关联字段t_worker.deptno和t_depart.deptno来演示一下MySQL的等值连接.左连接.右连接.全连接.数据库表:t_worker ...

  7. mysql where与on 左连接与右连接

    参考 数据库中的左连接和右连接的区别 1. where & on on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. WHERE 条件是在临时表已经生成后 ...

  8. sql查询时的左连接,右连接,和内连接详细解释

    1.sql查询时什么叫左连接和右连接     左连接和右连接都是外部连接,也就是区别于内部连接,它对不满足连接条件的行 并不是象内部连接一样将数据完全过滤掉,而是保留一部分数据,行数不会减少.     ...

  9. oracle联接,Oracle的联接详解(左连接、右连接、全连接.)

    https://www.cnblogs.com/guogl/articles/5929852.html 1  说明: 提到数据库必须要知道联接操作,这部分的内容在数据库查询操作中占到举足轻重的地位,今 ...

  10. 关于SQL语句的左连接和右连接,内连接和外连接的区别

    数据库版本为 mysql  Ver 14.14 Distrib 5.6.26, for Win64 (x86_64) 首先举个例子:(左连接和右连接) 现在我们有俩张表中内容如下. 我们使用左连接查询 ...

最新文章

  1. 拼接符 防注入正则校验_SpringBoot 开发秘籍 启动时配置校验
  2. H5跟ios、android交互跟数据对接
  3. System.Web.HttpRequestValidationException: 从客户端(txtName=fd)中检测到有潜在危险的 Request.Form 值...
  4. (十七)java版spring cloud+spring boot 社交电子商务平台-spring+springmvc+kafka分布式消息中间件集成方案...
  5. 剥开比原看代码(八):比原的Dashboard是怎么做出来的?
  6. Flask中的 url_for() 函数
  7. MongoDB 5.0 来了,原生时序、版本化 API 新特性悉数登场
  8. python装饰器函数传参
  9. Simulink之不可控整流电路
  10. 微软Azure云计算服务主导全球
  11. Xcode C++ and Objective-C refactoring
  12. SQL Server2005杂谈(5):将聚合记录集逆时针和顺时针旋转90度(行列互换)
  13. springmvc 表单中文乱码解决方案
  14. git 拉取代码库的项目到本地(window系统)
  15. vue.js动态计时器_基于Vue.js的Pomodoro技术计时器
  16. DMA RDMA 技术详解
  17. 谭浩强C++ 第八章
  18. 错误计算机怎么打开,例举电脑无法开机出现a disk read error错误怎么办呢?
  19. 3080算力添加、ValueError: Unknown CUDA arch (8.6) or GPU not supported 解决RTX30 运行深度学习代码报错
  20. PyCharm external tools

热门文章

  1. 游戏鼠标的dpi测试软件,怎样测试鼠标DPI印象中有这样的软件,但可以用游戏测试...
  2. 得力人脸识别考勤机密码设置_得力人脸识别考勤机使用与上传数据方法哪位清楚?...
  3. java软件前端开发_前端的编程软件哪些比较好用?
  4. 黄金价格查询易语言代码
  5. 回文字符串判断以及最长回文字符串长度判断
  6. 百战程序员 全栈软件测试课程 2022 笔记
  7. STM3库文件 hal_uart.c的使用
  8. 宋宝华:论Linux的页迁移(Page Migration)完整版
  9. 什么是前端以及前端的重要性
  10. scratch节假日课程:春节舞狮