Mysql中Left Join 与Right Join 与 Inner Join 与 Full Join的区别
看看Left Join 与Right Join 与 Inner Join 与 Full Join对表进行操作后得到的结果。
- 在数据库中新建两张表,并插入要测试的数据。
新建表:
- USE [Test]
- GO
- /****** 对象: Table [dbo].[EMP] 脚本日期: 06/22/2012 15:37:28 ******/
- 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]
- USE [Test]
- GO
- /****** 对象: Table [dbo].[SAL] 脚本日期: 06/22/2012 15:38:04 ******/
- 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表:
- 左连接
- select * from EMP Left join SAL on EMP.ENAME = SAL.ENAME;
左连接,表EMP是主表,因此查询结果是显示EMP(主表)的全部信息和SAL(附表)与EMP相关的信息。 - 右连接
- Select * from EMP Right join SAL on EMP.ENAME = SAL.ENAME;
右连接,表SAL是主表,因此查询结果显示SALT(主表)的全部信息和EMP(附表)与SAL想关的信息。 - 内连接
- SELECT * FROM EMP inner join SAL on EMP.ENAME = SAL.ENAME;
内连接,显示的是连个表相关的信息。 - 全连接
- SELECT * FROM EMP full join SAL on EMP.ENAME = SAL.ENAME;
全连接,显示两个表所有的信息。
Mysql中Left Join 与Right Join 与 Inner Join 与 Full Join的区别的更多相关文章
- mysql中的int和tinyint、varchar和char、DateTime和TimeStamp区别
一.int和tinyint的区别 大小: tinyint在mysql中占用1个字节 即: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方:11111111 = 256 在 ...
- 面试|简单描述MySQL中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针. 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的 ...
- 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面) ?
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针. 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的 ...
- SQL Server 与MySQL中排序规则与字符集相关知识的一点总结
字符集&&排序规则 字符集是针对不同语言的字符编码的集合,比如UTF-8字符集,GBK字符集,GB2312字符集等等,不同的字符集使用不同的规则给字符进行编码排序规则则是在特定字符集的 ...
- mysql中的JOIN用法总结
join是mysql中一个基础的关键词,一般在多表连接查询中使用,这里做一下总结 1.JOIN的语法格式 table_references: table_reference [, table_refe ...
- mysql中多个left join子查询写法以及别名用法
不多说 直接上语句 SELECT a.id, a.thumbNail, a. NAME, a.marketPrice, a.memberPrice, ...
- MySQL中链接查询inner join与left join使用
连接查询其实就是对两个表记录做笛卡尔乘积.如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积:如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果.在 ...
- mysql中的几种join 及 full join问题
[注意]:Oracle数据库支持full join,mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现 初始化SQL语句: /*join 建表语句*/ ...
- Mysql中Join用法及优化
Join的几种类型 笛卡尔积(交叉连接) 如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录.在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者直接用f ...
- Mysql 中Left/Right join on后面and和where条件查询的差异-Mysql SQL运算符是有优先级
一.Mysql中Left/Right join on后面and和where条件查询的差异 1.建两张测试表,一张商户定义表.一张商户操作状态明细表 1)商户定义表 CREATE TABLE hope. ...
随机推荐
- API权限控制与安全管理
摘自网上 一.API权限控制范围 1.首先验证web端请求参数: (1)web请求参数:渠道.ServiceName.版本.Airline.时间戳(yyyyMMddhhmmssSSS).reqXML ...
- 在taro中跳转页面的时候执行两遍componentDidMount周期的原因和解决方法
在做taro跳转的时候,发现在跳转后的页面会走两遍componentDidMount周期,查看了github上的issues,发现是跳转路由带参为中文引起的,只要把中文参数进行urlencode解决 ...
- Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.
出现此异常原因是jdk环境变量未配置正确
- 实现iOS中的链式编程
谈到链式编程,那Masonry几乎就是最经典的代表.如: make.top.equalTo(self.view).offset() 像这样top.equalTo(self.view).offset(6 ...
- AndroidのTextView之CompoundDrawable那些坑
TextView有几个属性android:drawableXXX,通常是在环绕文字周边显示一个图像,但是这有个坑就是文字和图片可能会对不齐. 纵使你设置gravity还是layout_gravity= ...
- 今日Java——Cay Horstmann访谈
这是本人在InfoQ中文站审校的文章,原文链接是:http://www.infoq.com/cn/articles/java_cay_horstmann,感觉内容很不错,分享给大家看看. 近日Info ...
- PV&UV&IP之间的区别和联系
PV PV是网站分析的一个术语,用于衡量网站用户访问的网页的数量.对于广告投入商来说,PV值可以预期它可以带来多少收入广告,一般来说,OV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量 ...
- Protocol Buffers java
Protocol Buffers https://developers.google.cn/protocol-buffers/ 一. 例 addressbook.proto. syntax = &qu ...
- jquery的ajax()函数中文传值出现乱码完美解决方案
1. jquery的ajax()函数 $.ajax({ type: "POST", dataType: "text", url: ".. ...
- 【CF914G】Sum the Fibonacci 快速??变换模板
[CF914G]Sum the Fibonacci 题解:给你一个长度为n的数组s.定义五元组(a,b,c,d,e)是合法的当且仅当: 1. $1\le a,b,c,d,e\le n$2. $(s_a ...