mysql的三种连接方式
SQL的三种连接方式分为:左外连接、右外连接、内连接,专业术语分别为:LEFT JOIN、RIGHT JOING、INNER JOIN
内连接INNER JOIN:使用比较运算符来根据指定的连接的每个表都有的列的值来进行匹配连接,如果对应的列值不存在,则连接的所有表对应的该列值都不会进行连接,也就是说都会别抛弃;
##### 举个例子
-------------------------------------------------
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在关系
//进行INNER JOIN
SELECT * FROM (a INNER JOIN b ON a.id=b.parent_id);
最终输出的结果为:
a.id a.name b.id b.job b.parent_id
1 张三 1 23 1
2 李四 2 34 2
//因为a.id=3在b中不存在对应的值,b.parent_id=4再a中也不存在,因此都被抛弃
左外连接LEFT JOIN/LEFT OUTTER JOIN:如果左表的某行在右表中没有找到对应的匹配项,那么左表该行在连接表中对应的右表数据都为null;而右表中的某行在坐标中没有找到对应的匹配项,就被抛弃
举个例子
-------------------------------------------------
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在关系
--------------------------------------------------
//进行LEFT JOIN
SELECT * FROM (a LEFT JOIN b ON a.id=b.parent_id);
最终输出的结果为:
a.id a.name b.id b.job b.parent_id
1 张三 1 23 1
2 李四 2 34 2
3 王五 null null null
//因为a.id=3在b中不存在对应的值,所以对于左外连接来说该行对应的右表中的数据的值都为null
##### 右外连接RIGHT JOIN/RIGHT OUTTER JOIN: 与左外连接类似,只不过是右表对应的数据在左表中没有找到匹配项,该行对应的左表数据就被设置为null,左表对应的数据在右表中没有找到匹配项,就被抛弃,例子就不列举了
##### 文章摘自:http://www.blogjava.net/zolly/archive/2007/10/23/SQLJION.html
</div>
mysql的三种连接方式的更多相关文章
- Java连接Oracle数据库的三种连接方式
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...
- linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用
---操作环境--- 虚拟机版本:VMware Workstation_10.0.3 Linux系统版本:CentOS_6.5(64位) 物理机系统版本:win10 一.虚拟网络三种连接方式 当在V ...
- oracle Hash Join及三种连接方式
在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...
- [转]Apache HTTP Server 与 Tomcat 的三种连接方式介绍
首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端 ...
- Linux基石【第二篇】虚拟网络三种连接方式(转载)
在虚拟机上安装完Centos系统后,开始配置静态IP,以方便在本宿主机上可以访问虚拟机,在曲折的配置中,了解到虚拟机还有三种连接方式:Bridged,NAT和Host-only,于是,我又一轮新的各种 ...
- mysql三种连接方式
sql四种连接方式demo: 表a 表b a.id与b.parent_id有关系 1.内连接:SELECT a.*,b.* from a INNER JOIN b ON a.id=b.parent_i ...
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍(转)
首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端 ...
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍
本文转载自IBM developer 首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装 ...
- 转自IBM:Apache HTTP Server 与 Tomcat 的三种连接方式介绍
http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html 整合 Apache Http Server ...
随机推荐
- https://blog.csdn.net/qq_33169863/article/details/82977791
https://blog.csdn.net/qq_33169863/article/details/82977791 ** 查看设备连接 adb devices ** 列出手机已安装的包名 adb ...
- 牛客网暑期ACM多校训练营(第一场)菜鸟补题QAQ
签到题 J Different Integers(树状数组) 题目大意:给一个长为n的数组,每一个询问给两个数字i, j ,询问1~i, j~n这两个区间中有多少不同的数字,真的像是莫队裸题,但是两个 ...
- 图像分割中的loss--处理数据极度不均衡的状况
序言: 对于小目标图像分割任务,一副图画中往往只有一两个目标,这样会加大网络训练难度,一般有三种方法解决: 1.选择合适的loss,对网络进行合理优化,关注较小的目标. 2.改变网络结构,使用atte ...
- 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题[转]
主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的一点 ...
- 左神算法书籍《程序员代码面试指南》——2_11将单链表的每K个节点之间逆序
[题目]给定一个单链表的头节点head,实现一个调整单链表的函数,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点.例如:链表:1->2->3->4->5 ...
- hadoop面试题及答案解析
1.(Datanode)程序负责HDFS数据存储. 2.HDFS中的block默认保存(3份). 3.(TaskTracker)程序通常与NameNode在一个节点启动. 分析:hadoop集群是基于 ...
- 使用Python的requests库作接口测试——对HTTP动词的支持
Requests提供了几乎所有HTTP动词的功能:GET,OPTIONS, HEAD,POST,PUT,PATCH和DELETE. 动词GET-查看提交信息 HTTP GET是一个幂等的方法,从给定的 ...
- django模块安装环境变量
django 模块 一 安装: 方法一: (在 JetBrains PyCharm 2017.2 软件的) 设置 (里找到) 项目:python +(添加) (搜索) django Install p ...
- bzoj月赛1805
题目在最后,FG还不会做,等着$NicoDafaGood$和$Achen$给我讲 A 对于每一个质因子建一棵线段树,直接查询就好了 主要是看到所有数的大小都不是很大,然后质因子最多只有log个,复杂度 ...
- mockito问题集
使用PowerMockRunner.class,不能在测试类中使用IntStream.rang()