sql语句中的join用法(可视化解释)
一、innerjoin
innerjoin总结来说就是 ,如A知道通往B如何走;B知道通往C如何走;但是A不知道通往C如何走,但是A可以通过B获得去往C的通往方式。。
首先,假设有A,B两张表,结构及数据如下:
INNERJOIN
INNERJOIN产生的结果集是A表和B表的交集。
代码如下:
select <select_list>
结果如下:
LEFTJOIN
LEFTJOIN产生A表的完全集,而B表中匹配的则有值,没有匹配的则以NULL填充。
RIGHTJOIN
RIGHTJOIN和LEFTJOIN相对应,产生的是B表的完全集,而A表中匹配的则有值,没有匹配的则以NULL填充。
OUTERJOIN
OUTERJOIN也可以写成FULLOUTERJOIN,产生的是A表和B表的并集。没有匹配的记录,仍是以NULL填充。
LEFTExcludingJOIN
LEFTExcludingJOIN产生在A表中有而在B表中没有的集合。
RIGHTExcludingJOIN
RIGHTExcludingJOIN与LEFTExcludingJOIN相对应,产生的是B表中有而在A表中没有的集合。
OUTERExcludingJOIN
OUTERExcludingJOIN产生的是A表有而B表没有,B表有而A表没有的数据集。
最后,下面这张图整理了上面讲的所有内容。
sql语句中的join用法(可视化解释)的更多相关文章
- SQL语句中 INNER JOIN的用法!
一.SQL语句中 INNER JOIN的用法? 1.INNER JOIN的作用? 可以在两个或者更多的表中获取结果,得出一张新表. [隐式内连接] 表一 car 购物车 表二 user 用户 发现 ...
- sql语句中charindex的用法 可用于截取字符串
使用CHARINDEX和PATINDEX函数来搜索文字列和字符串.这两个函数是如何运转的,解释他们的区别.同时提供一些例子,通过这些例子,你可以可以考虑使用这两个函数来解决很多不同的字符搜索的问题. ...
- SQL点滴2—重温sql语句中的join操作
原文:SQL点滴2-重温sql语句中的join操作 1.join语句 Sql join语句用来合并两个或多个表中的记录.ANSI标准SQL语句中有四种JOIN:INNER,OUTER,LEFTER,R ...
- sql语句中left join、right join 以及inner join之间的使用与区别
sql语句中left join.right join 以及innerjoin之间的使用与区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join( ...
- SQL语句中output的用法
在SQL语句中,output可以作为返回值来使用, 1.我们先看这个存储过程 代码: 1 set ANSI_NULLS ON 2 set QUOTED_IDENTIFIER ON 3 go 4 ...
- SQL语句中Left join,right join,inner join用法
转载于:https://blog.csdn.net/lichkui/article/details/2002895 一.先看一些最简单的例子 例子 Table Aaid adate 1 ...
- sql语句中left join、inner join中的on与where的区别
table a(id, type): id type ---------------------------------- 1 1 2 1 3 2 table b ...
- sql语句中left join、 inner join的使用
转自:http://blog.csdn.net/winter3125/article/details/5032871 table a(id, type): id type ----------- ...
- 重温sql语句中的join操作
1.join语句 Sql join语句用来合并两个或多个表中的记录.ANSI标准SQL语句中有四种JOIN:INNER,OUTER,LEFTER,RIGHT,一个表或视图也可以可以和它自身做JOIN操 ...
随机推荐
- 浅谈《think in java》:二 一切都是对象
清晨坐在图书馆,今天聊聊早晨的“果实”. 清单1. 引用操作:对象创建:存储地方:基本类型:数组 “reference”:引用[操作对象的标识符] 例子:创建String类型的引用,并不是对象. St ...
- 代理模式(静态代理、JDK动态代理原理分析、CGLIB动态代理)
代理模式 代理模式是设计模式之一,为一个对象提供一个替身或者占位符以控制对这个对象的访问,它给目标对象提供一个代理对象,由代理对象控制对目标对象的访问. 那么为什么要使用代理模式呢? 1.隔离,客户端 ...
- 网络基础知识 - HTTP协议
前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是 ...
- ubuntu搭建nodejs生产环境——快速部署手册
为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的. 测试环境 腾讯云 Ubuntu 16.04 阿里云 U ...
- Canal 源码走读
前言 canal 是什么? 引用一下官方回答: 阿里巴巴mysql数据库binlog的增量订阅&消费组件 canal 能做什么? 基于日志增量订阅&消费支持的业务: 数据库镜像 数据库 ...
- 深入理解Java虚拟机阅读心得(三)
Java中提倡的自动内存管理最终可以归结为自动化的解决两个问题: 给对象分配内存 回收分配给对象的内存 先说说回收这一方面的两个主要知识点 一.垃圾收集算法 1.标记-清理算法 首先标记出所有需要回收 ...
- ARM 汇编指令 DCD
简介 DCD:数据定义( Data Definition )伪指令 一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化. 语法格式: 标号 DCD(或 DCDU) 表达式 DCD(或 ...
- 使用 Cglib 实现多重代理
前言 由于 Cglib 本身的设计,无法实现在 Proxy 外面再包装一层 Proxy(JDK Proxy 可以),通常会报如下错误: Caused by: java.lang.ClassFormat ...
- Docker虚拟机实战
安装Docker虚拟机 ◆ 先更新yum软件管理器,然后再安装Docker #更新yum软件管理器 yum -y update #安装Docker yum install -y ...
- Linux CentOS 虚拟机下联网
这里用VM 提供虚拟环境 虚拟机网络连接模式用的NAT 在编辑处 打开 查看你的子网ip 类型是NAT 的 我们这是是18 192.168.18.~ 去看dhcp 设置看自动分配的地址范围 也可 ...