首先来看张图片:

定义:

左联:首先取出A表中所有数据,然后再加上A、B表通过关联字段key查询到的数据

右联:首先取出B表中所有数据,然后再加上A、B表通过关联字段key查询到的数据

内联:查询A、B表通过关联字段key查询到的数据

非关联字段key的数据:当A表为主表时,在B表中该关联字段key为空值的数据为非关联字段

表关联是在SQL中非常常用的东西

join全连接:查找左表(主表)和右表(子表)都存在的数据

left join左联接:查找左表(主表)为查找全集,右表(子表)存在的关联出来,不存在的为NULL。

right join右连接:刚好和left join相反

full join全集关联:相当于把left join 和right join 综合起来,即左表(主表)和右表(子表)关联,如果能关联到的显示,如果左有右表没有,则右表显示NULL,如果右表有左表没有 则左表显示NULL

举个例子,你现在有两张表,学生表和成绩表

学生表中有两列数据:学生ID和学生姓名,成绩表中有三列数据,成绩ID、学生ID和总分数

假设学生表中有三行数据,ID为1,2,3,姓名分别为张三,李四,赵五

假设成绩表中也有三行数据:成绩ID为1,2,3,学生ID为 2,3,5,成绩为60,85,90

如果你写 select * from 学生表 a join 成绩表 b on a.学生ID=b.学生ID

会出现学生ID为2,3的两条数据

如果你写 select * from 学生表 a left join 成绩表 b on a.学生ID=b.学生ID

会出现学生ID为1,2,3的三条数据,但学生ID为1的那条数据关联到的成绩表信息全为NULL

如果你写 select * from 学生表 a  right join 成绩表 b on a.学生ID=b.学生ID

会出现学生ID为2,3,5的三条数据,但学生ID为5的那条数据关联到的学生表信息全为NULL

如果你写 select * from 学生表 a  full join 成绩表 b on a.学生ID=b.学生ID

会出现学生ID为1,2,3,5的全部数据,但学生ID为5的那条数据关联到的学生表信息全为NULL,学生ID为1的那条数据关联到的成绩表信息全为NULL

左联就是左表作为主表,左连接where只影向右表,右联与之相反。

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

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

一般要使得数据库查询语句性能好点遵循一下原则:
在做表与表的连接查询时,大表在前,小表在
不使用表别名,通过字段前缀区分不同表中的字段
查询条件中的限制条件要写在表连接条件前
尽量使用索引的字段做为查询条件

SQL中,表之间的左联和右联是什么意思相关推荐

  1. mysql的内联与左联,SQL联合查询(内联、左联、右联、全联)的语法

    SQL联合查询(内联.左联.右联.全联)的语法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 概述 联合查询效率较高 举 ...

  2. SQL联合查询(内联、左联、右联、全联)的语法

    概述:# 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join .全联full outer join 的好处及 ...

  3. sql联合查询(内联、左联、右联、全联)

    继上篇<sql内联查询> 引言 上篇谈到了sql内联查询是联合查询的一种,接下里这篇博客就介绍一下其它的查询方法,分别为左联.右联.全联. 还是用上篇博客提到的例子: select * f ...

  4. MySQL联合查询语法内联、左联、右联、全联

    MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户id,用户名,密码)    userid   username  password 1   jac ...

  5. mysql左联右联区别_Mysql----关于内联,左联,右联,全联的使用和理解

    准备工作:新建两张表 表一:student 填充内容:编号,姓名,班级 表二:school 填充内容:编号,班级,专业 这两张表建好了,意为班级选课表,两张表没有任何主外键的关系,下面进行内联,左联, ...

  6. oracle左联表示,oracle 笔记 IX 之内联、左联、右联

    介绍一下内联.左联.右联 一.先看一些最简单的例子 例子 Table A aid adate 1 a1 2 a2 3 a3 TableB bid bdate 1 b1 2 b2 4 b4 两个表a,b ...

  7. mysql左联和右联_MySQL联合查询语法内联、左联、右联、全联

    MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户名,密码) userid(int)   usernamevarchar(20)   passwor ...

  8. mysql 左联 右联一块_MySQL联合查询语法(内联、左联、右联、全联)

    MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户名,密码)   userid(int)   usernamevarchar(20)   passw ...

  9. MySQL的左联,右联,内联,等值连接的区别

    数据准备:单纯为了对比左联,右联,内联的区别所做的数据,不考虑业务逻辑 CREATE TABLE student( sid INT PRIMARY KEY, sname VARCHAR(10) NOT ...

最新文章

  1. 点击量终于突破十万大关,以示庆贺,耶!!!
  2. CentOS7下安装ELK三件套
  3. BZOJ 2662: [BeiJing wc2012]冻结(最短路)
  4. Ruby离线安装gem依赖
  5. Comcast以纯文本泄露客户Wi-Fi登录信息,立即更改密码
  6. 就像教育一样,本身作用巨大,当过度强化,就是扭曲了~
  7. HDU 2234 无题I
  8. CDRX4X5X6X7X8下载安装失败的原因教程分享(CorelDRAW)
  9. ftp服务器限制文件大小,ftp服务器设置文件大小
  10. Latex 语法 备忘录
  11. uni-app uni.request简单封装(请求头配置及response处理)
  12. 阿里服务器配置随笔记 centos 服务器 Linux 部分命令合集
  13. appnode怎么样_Linux面板AppNode免费开放使用,你还在用宝塔吗? - 立金哥
  14. 苹果系统版本依次顺序_iphone所有型号上市顺序
  15. 51单片机倒计时计时器(计时结束闹钟)
  16. html边框背景图片,css3 边框、背景、文本效果的实现代码
  17. Linux CentOS7 升级内核的方法
  18. 智能AI电话机器人系统
  19. 读《鸟哥的linux私房菜》有感--第一天
  20. 详解element-ui设置下拉选择切换必填和非必填

热门文章

  1. ARP--利用arpspoof和driftnet工具进行arp欺骗
  2. 如何关闭电脑的防火墙
  3. C语言、Python和MATLAB区别
  4. 软件架构设计之理论篇
  5. 东坝电子计算机学校招生条件,人大附中朝阳分校东坝校区2020小升初招生开始了吗?...
  6. Jmeter学习笔记之响应断言
  7. H5、CSS3和ES6新特性
  8. 土壤温湿度传感器传感器内置信号采样及放大、漂零及温度补偿功能
  9. MAC-mojave 关于VMware虚拟机键盘鼠标失灵以及虚拟机黑屏的解决方法
  10. JS 提交表单后清空表单