SQL中 Left Join 与 Right Join 与 Inner Join 与 Full Join的区别
首先看看Left Join 与Right Join 与 Inner Join 与 Full Join对表进行操作后得到的结果。
- 在数据库中新建两张表,并插入要测试的数据。
新建表:
- GO
- /****** 对象: Table [dbo].[EMP] ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [dbo].[EMP](
- [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
- [CITY] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
- ) ON [PRIMARY]
- GO
- /****** 对象: Table [dbo].[SAL] ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [dbo].[SAL](
- [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
- [SALARY] [money] NULL
- ) ON [PRIMARY]
插入数据得到的表:
EMP表:

SAL表:

- 左连接
左连接,表EMP是主表,因此查询结果是显示EMP(主表)的全部信息和SAL(附表)与EMP相关的信息。
- 右连接
右连接,表SAL是主表,因此查询结果显示SALT(主表)的全部信息和EMP(附表)与SAL想关的信息。
- 内连接
内连接,显示的是连个表相关的信息。
- 全连接
全连接,显示两个表所有的信息。
- 内连接
- 左连接
SQL中 Left Join 与 Right Join 与 Inner Join 与 Full Join的区别的更多相关文章
- SQL中 char、varchar、text 和 nchar、nvarchar、ntext的区别
1.char.char存储定长数据很方便,char字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间. 2.va ...
- sql中 in 、not in 、exists、not exists 使用方法和区别
% 的一类. NOT IN:通过 NOT IN keyword引入的子查询也返回一列零值或很多其它值. 以下查询查找没有出版过商业书籍的出版商的名称. SELECT pub_name FROM pub ...
- SQL优化 查询语句中,用 inner join 作为过滤条件和用where作为过滤条件的区别
前段时间遇到一个存储过程,参数之一是一个字符串,在存储过程中,把字符串拆分成一个临时表之后存为一个key值的临时表,作为其中一个查询条件, 逻辑实现上有两种处理方式 insert into #t se ...
- SQL中inner join、outer join和cross join的区别
对于SQL中inner join.outer join和cross join的区别简介:现有两张表,Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同 ...
- my sql中join的操作
SQL标准中的Join的类型: 首先,设置表employees和department的数据为: 1.inner join … on操作类型 内连接inner join是基于连接谓词将两张表(如A和 ...
- Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式
当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left ...
- Access SQL中Left Join、Right Join和Inner Join的使用
1.表结构 表A 表B 2.Left Join 示例:2.1 Select * From A left join B on A. ...
- SQL中distinct的用法和left join查询的含义
SQL中distinct的用法 1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...
- SQL中 LEFT JOIN ,RIGHTJOIN,INNER JOIN 的使用及优先级浅析
首先了解JOIN的基本概念: join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. INNER JOIN:在表中存在至少一个匹配时,INNER JOIN 关键字返回行. LEFT JO ...
- Spark SQL中的几种join
1.小表对大表(broadcast join) 将小表的数据分发到每个节点上,供大表使用.executor存储小表的全部数据,一定程度上牺牲了空间,换取shuffle操作大量的耗时,这在SparkSQ ...
随机推荐
- xcode 忽然无法真机调试
手机升级了系统后一直没有再进行真机调试,今天要去面试把手机插上后忽然显示iPhone(unavailable),选中自己的设备后运行发现弹出警告could not find developer dis ...
- C#中WinForm程序退出方法技巧总结(转)
本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit ...
- IDictionary<TKey, TValue> vs. IDictionary
Enumerating directly over an IDictionary<TKey,TValue>returns a sequence of KeyValuePair struc ...
- 给ListView视图添加行号
最后的效果如下: 更新,集成一个独立的模块而不改变源文件的方式更为稳妥. 购买地址:https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-26531 ...
- Javascript 编程小技巧总结(部分内容借鉴他人)
1 – 使用===,而不是== ==(或!=)操作符在需要的时候会自动执行类型转换.===(或!==)操作不会执行任何转换.它将比较值和类型,而且在速度上也被认为优于==. 2 – 使用闭包实现私有变 ...
- JDBC链接oracle已经mysql的测试
1.链接oracle package cn.itcast.mybatis.dao; import java.sql.Connection;import java.sql.DriverManager;i ...
- openstack组件之keystone
一 什么是keystone keystone是 OpenStack Identity Service 的项目名称.它在整个体系中充当一个授权者的角色. Keystone项目的主要目的是给整个opens ...
- 深入理解C++虚函数表
虚函数表是C++类中存放虚函数的一张表,理解虚函数表对于理解多态很重要. 本次使用的编译器是VS2013,为了简化操作,不用去操作函数指针,我使用到了VS的CL编译选项来查看类的内存布局. CL使用方 ...
- 使用 Sublime Text3 编辑 Markdown
安装插件 可以通过安装 Markdown 的插件来使 Sublime Text3 变成一款 Markdown 编辑器 1.Markdown Preview 插件 输入Shift + Ctrl + P, ...
- Unity3D中自带事件函数的执行顺序(转)
原文:http://www.jianshu.com/p/1d93ece664e2 在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行.其执行顺序如下: 编辑器(E ...