关于MySQL的内连接,外连接的总结
首先创建两个数据库表,用户表u,账户表a
先看一下数据库表:
u表:

a表:

1. 内连接。
关键字:inner join
SQL语句: select u.*,a.ID as aid,a.money from u INNER JOIN a ON u.id=a.uid;
结果:

* 只输出匹配的数据,即u表id与a表uid相同的数据,相当于 “select u.*,a.ID as aid,a.money from u,a where u.id=a.uid;”,结果是一样的。
2.外连接。左向外连接、右向外连接
(1)左向外连接(左连接)
关键字: LEFT JOIN或LEFT OUTER JOIN
SQL语句:select u.*,a.ID as aid,a.money from u LEFT JOIN a ON u.id=a.uid;
结果:

*左向外连接的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果u表的某行在a表中没有匹配行,则在相关联的结果集行中a表的所有选择列表列均为空值。(为了理解这里给出结果一样的右连接查询:“select u.*,a.ID as aid,a.money from a RIGHT JOIN u ON u.id=a.uid;”)
(2)右向外连接(右连接)
关键字:RIGHT JOIN 或 RIGHT OUTER JOIN
SQL语句: select u.*,a.ID as aid,a.money from u RIGHT JOIN a ON u.id=a.uid;;
结果:

*右向外联接是左向外联接的反向联接。将返回b表的所有行,如果b表的某行在左表中没有匹配行,则将为a表返回空值。
总结:
内连接,左连接,右连接的区别是什么?
① 内连接关键字:inner join;
② 左连接:left join;
③ 右连接:right join。
内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。
关于MySQL的内连接,外连接的总结的更多相关文章
- mysql数据库中的多表查询(内连接,外连接,子查询)
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- 知识点:Oracle+表连接方式(内连接-外连接-自连接)+详解 来自百度文库
Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右 ...
- sql内连接外连接自然连接
为什么我们要使用内连接和外连接呢?可以从两张或者多张表中找出,我们需要的属性. 这个比较好:http://www.cnblogs.com/youzhangjin/archive/2009/05/22/ ...
- mysql 内连接 左连接 右连接 外连接
mysql> desc student;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | ...
- mysql中的内连接,外连接实例详解
内连接: 只连接匹配的行左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边 ...
- SQL中的内连接外连接和交叉连接是什么意思?
内连接又分为等值连接.自然连接和不等连接三种. 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN).右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接( ...
- Oracle内链接+外连接详解
inner join(内连接) 内连接也称为等同连接,返回的结果集是两个表中所有相匹配的数据,而舍弃不匹配的数据.也就是说,在这种查询中,DBMS只返回来自源表中的相关的行,即查询的结果表包含的两源表 ...
- SQL内连接-外连接join,left join,right join,full join
1.创建测试表test1及test2 SQL)); 表已创建. SQL)); 表已创建. ,'name1'); ,'name2'); ,'name3'); ,'name4'); ,'name5'); ...
- oracle 内连接 外连接 查询 笔记
elect ename,job,sal from emp where deptno>10 order by sal desc; 联合查询,PK dept.deptno FK emp.deptno ...
- mysql8必知必会7 连接 内连接 外连接 交叉连接
/* 2 需求:建立产品和分类表 1.查询每种分类的产品数量,没有产品的分类也要统计.(cname,quantity) 2.根据分类名称查询分类中的所有产品 */ -- --------------- ...
随机推荐
- selenium原理解析
相信很多测试小伙伴儿都听过或者使用过web自动化selenium,那您有没有研究过selenium的原理呢?为什么要使用webdriver.exe,webdriver.exe是干啥用的?seleniu ...
- python 字符串方法整理
Python字符串方法 1.大小写转换 1.1 lower.upper lower():小写 upper():大写 1.2 title.capitalize S.title():字符串中所有单词首字母 ...
- Java实现RS485串口通信,发送和接收数据进行解析
最近项目有一个空气检测仪,需要得到空气检测仪的实时数据,保存到数据库当中.根据了解得到,硬件是通过rs485进行串口通讯的,需要发送16进制命令给仪器,然后通过轮询来得到数据. 需要先要下载RXTX的 ...
- Eclipse R语言开发环境搭建 StatET插件
StatET 官网 http://www.walware.de/goto/statet Installation 点击菜单栏 help --> Install New Software 配置R语 ...
- 修复LSP 解决不能上网问题
电脑突然不能上网,ping路由提示"传输失败,常见故障" 1, 打开CMD 2, 输入"netsh winsock reset" 回车 3, 重启电脑 LSP ...
- node.js之客户端发起https和http请求
应用场景:1.VsCode插件开发(主要针对以javascript为主的vscode插件);2.使用Node.js开发的客户端程序 Node.js之http请求(客户端) 代码示例如下: var ht ...
- 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk
目录 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk 一.知识点 1.伪协议文件读取 2.报错注入 刷题记录:[CISCN2019 华北赛区 Day1 Web5]Cy ...
- 【mybatis源码学习】mybatis的sql语句映射
一.重要的接口和类 org.apache.ibatis.scripting.LanguageDriver //语言驱动org.apache.ibatis.scripting.xmltags.XMLLa ...
- Android apk在线升级
APK 在线升级 APK 在线升级几乎是所有程序必备的功能. 在线升级功能能解决已有的问题并提供更丰富的新功能. 基本的流程是: 检测到新版本信息 弹出升级提示窗口 点击 No 不进行升级,完毕! 点 ...
- Electron 入门第一篇
官网:http://electronjs.org/docs/tutorial/application-architecture 转载:https://blog.csdn.net/qq_33323731 ...