Left Join / Right Join /inner join相关

关于左连接和右连接总结性的一句话:

左连接where只影向右表,右连接where只影响左表。

Left Join

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

左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。

简言之 Left Join影响到的是右边的表

Right Join

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

检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。

简言之 Right Join影响到的是左边的表。

inner join

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子句,但是连接同一个表的时候,注意要定义别名,否则产生错误!

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

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

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

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

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

在做表与表的连接查询时,大表在前,小表在
不使用表别名,通过字段前缀区分不同表中的字段
查询条件中的限制条件要写在表连接条件前
尽量使用索引的字段做为查询条件

数据库中左连接和右链接的区别相关推荐

  1. 左连接 和右链接的区别,内连接和外连接的区别

    假设有A,B两个表. 表A记录如下:   aID     aNum   1     a20050111   2     a20050112   3     a20050113   4     a200 ...

  2. mysql 中的左连接,右链接和内连接

    左连接,右链接和内连接 在自己做项目的过程中,遇到了相关的数据库的查询的问题,在这里做一下简短的记录和总结 其中左连接和右链接属于外连接: 左连接: left (outer) join 右链接: ri ...

  3. TCP长连接和短链接的区别及应用场景

    TCP长连接和短链接的区别及应用场景 TCP在真正的读写操作之前,服务端与客户端之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立通过三次握手,释放则需要四 ...

  4. SQL中左连接和右连接的理解误区

    SQL中左连接和右连接的理解误区: 1.左右外连接中,怎么区分哪个表当左表,哪个表当右表? 2.什么时候用左连接,什么时候用右连接? 首先,重新捋一遍二者概念: 左连接的语法:select 列名 fr ...

  5. 数据库中左连接和等值连接

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

  6. c语言左值为变量,C语言中左值和右值的区别

    在C语言学习过程中,大家或许听到过左值和右值的概念,甚至在调试程序时编译器也会给出" left operand must be l-value " 即左操作数必须为左值!,今天我们 ...

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

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

  8. 内连接,左连接,右连接作用及区别(数据库相关九)

    我们来看个例子: 内连接就是普通的查询,例如 1.加inner join的: SELECT     S.SName,C.CourseID,C.Grade From         Sc AS C IN ...

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

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

最新文章

  1. 动态规划——Poj 1159 Palindrome
  2. 学习云计算前景如何?新的一年Linux运维职业选择有哪些?
  3. [转载]html5教程
  4. 双数组 实现 Trie
  5. .NET下使用socket.io随笔记录
  6. MSSQL游标的原理及示例
  7. sql timestep 秒数后6位_excel中,如何截取身份证号后6位?前4位?或者中间8位?...
  8. 解决CocosCreator2.3.1使用VideoPlayer加载视频黑屏问题(修改底层代码)
  9. redis和couchbase的比较
  10. Luogu3381【模板】最小费用最大流
  11. 离散数学 (屈婉玲)集合部分 笔记
  12. SIFT算法系列之尺度空间
  13. WPF 做的天干地支 乾坤八卦 罗盘
  14. cesium加载地形
  15. arch模型 python_【时间序列】波动率建模之ARCH模型
  16. TI DSP芯片SCI模块的波特率自适应
  17. 解决 “8080“ 端口号被占用问题!
  18. 只谈链不谈币,区块链会发展成什么样的方向?
  19. mysql主从三个线程工作顺序_MySQL主从介绍、准备工作、配置主、配置从、测试主从同步...
  20. Date,LocalDateTime类型,获取今年开始时间,获取去年的今天。

热门文章

  1. Linux文件和文件夹复制命令
  2. 怎么才能不学习、不工作。(懒人必看)
  3. linux运行gradle,Linux Gradle 安装
  4. DS印度Meetup倒计时2天:大数据基础设施的实践应用
  5. 曼彻斯特编码与差分曼彻斯特编码的区别
  6. linux之父用的电脑,Linux之父新电脑:15年第一次抛弃Intel
  7. 深耳道微型无线蓝牙耳机
  8. 算法时间复杂度与问题规模之间的关系
  9. Android中SQLite数据库查看及导入导出
  10. 关于反爬虫,这一篇就够了